ich habe geschaut Dieses Video und genau zur Zeit 24:50 heißt es:
Sie können Branches in Git nicht wechseln, es sei denn, Ihr Arbeitsverzeichnis ist sauber
Ich habe dies in einem Test-Repository getestet, eine Datei geändert und einen Zweig gewechselt, und ich konnte es tun! Der Typ arbeitet in GitHub, also bezweifle ich, dass er nicht weiß, wovon er spricht. Hat Git sein Verhalten in letzter Zeit geändert?
Aktualisieren
Das ist mein Protokoll: http://pastebin.com/dFTwHrET
Das ist eher defensiv.
Wenn Sie nicht festgeschriebene Änderungen haben, die durch das Wechseln von Zweigen überschrieben würden, lässt Git dies nicht zu. Wenn die Änderungen nicht durch den Zweigwechsel beeinflusst werden, hält Sie nichts auf.
Angenommen, Sie haben ein einfaches Git-Repository mit einer einzigen Datei.
Checken Sie einen neuen Zweig aus und nehmen Sie Änderungen am Inhalt dieser Datei vor. Versuchen Sie, ohne die Änderungen zu übernehmen, zurück zum ursprünglichen Zweig zu wechseln. Sie können dies tun, da der Head-Commit derselbe ist.
Checken Sie einen neuen Zweig aus und nehmen Sie Änderungen am Inhalt dieser Datei vor. Bestätigen Sie diese Änderung. Nehmen Sie eine weitere Änderung vor, versuchen Sie jedoch, ohne die Änderungen zu übernehmen, zum ursprünglichen Zweig zurückzukehren. Das wird Ihnen nicht gelingen.
Da Sie Branches nicht wechseln können, verwerfen Sie Ihre Änderungen (git reset --hard head
) und fügen Sie dann eine weitere Datei hinzu. Versuchen Sie, ohne diesen Zusatz zu begehen, die Zweige zu wechseln, Sie werden dazu in der Lage sein.
Stimme der Antwort von @Abizem zu.
Falls Sie in einen neuen Zweig auschecken möchten, ohne die aktuellen Änderungen im Zweig festzuschreiben. Dann können Sie Stashing verwenden, die Änderungen im aktuellen Zweig mit einer beliebigen Kennung stashen und dann in den neuen Zweig auschecken. Git-Tools-Stashing