Diese Frage ähnelt dieser , ist jedoch spezifischer.
Ich habe ein Projekt mit zwei Zweigen ( staging
und beta
).
Ich entwickle weiter staging
und benutze den master
Zweig, um Fehler zu beheben. Wenn ich also an der Bereitstellung arbeite und einen Fehler sehe, wechsle ich zum master
Zweig:
git checkout master
und mach das Zeug:
git add fileToAdd
git commit -m "bug fixed"
und dann verschmelze ich mit beiden Zweigen:
git checkout staging
git merge master
git checkout beta
git merge beta
Und es spielt keine Rolle, ob sich andere Dateien im Arbeitsbaum befinden.
Aber jetzt, wenn ich versuche, zum master
Zweig zu wechseln , erhalte ich eine Fehlermeldung :
error: Your local changes to the following files would be overwritten by checkout:
src/Pro/ConvocationBundle/Controller/DefaultController.php
Please, commit your changes or stash them before you can switch branches.
Aborting
Ich dachte, ich sollte die Datei aus dem Staging-Bereich entfernen:
git reset HEAD src/Pro/ConvocationBundle/Controller/DefaultController.php
aber ich bekomme den gleichen Fehler. Wenn ich das tue, git status
bekomme ichNo changes to commit
git add your-file
und zu begehen.
staging
jetzt keine Änderungen vornehmen .
reset --hard
? Wenn Sie wirklich sicher sind, dass Sie Ihre Änderungen verwerfen möchten. Oder verwenden Sie Stash, wenn Sie dies nicht tun.