2016-06-25 16 views
0

Ich habe ein Git Repo mit mehreren Zweigen. Normalerweise, wenn ich Änderungen in einem Zweig mache und versuche, zu einem anderen Zweig zu wechseln, sagt Git, dass ich die Änderungen festschreiben oder verwerfen muss, bevor ich den Zweig wechseln kann.Git warnt mich nicht über Änderungen beim Umschalten von Zweigen

Heute habe ich eine Datei in Zweig A geändert und git checkout master typisiert, um auf Master-Zweig zu wechseln. Und git nur, ohne jede Warnung, kopiert alle Änderungen von Zweig A in den Master-Zweig.

Warum funktioniert das nicht mehr richtig?

Antwort

2

Sie werden nur aufgefordert, Änderungen zu bestätigen, zu speichern oder zu verwerfen, wenn das Abhaken des Zweiges mit den Änderungen im Arbeitsbaum in Konflikt gerät. Wenn es keinen Konflikt gibt, haben Sie einfach Änderungen, die noch ausstehen, und Sie können frei zu jeder nicht in Konflikt stehenden Branche wechseln.

+0

Warum werden meine Änderungen in Zweig B auf meinen Hauptzweig angewendet, wenn ich darauf umschalte? Die Datei, die ich in B bearbeitet habe, hat die entsprechende Datei im Master-Zweig ersetzt. – Julian

+0

Sie sind eigentlich nirgendwohin verpflichtet, also haben Sie gerade Veränderungen in Ihrem Arbeitsbaum hängen. Wenn Sie diese an B binden und dann den Master auschecken, werden sie verschwinden. –

+1

Danke, das macht alles klar! – Julian

1

Sie erhalten eine Meldung, in der Sie aufgefordert werden, Änderungen von Git nur dann zu speichern oder zu übernehmen, wenn bei Ihren Änderungen Konflikte mit den Änderungen in der Zweigstelle auftreten, zu der Sie wechseln.

Wenn Ihre Änderungen keine Konflikte mit den Änderungen in der Zweigstelle haben, zu der Sie wechseln, wird git Sie nicht auffordern, Änderungen zu speichern oder zu übernehmen.

Meine Meinung ist jedoch, dass Sie Ihre Änderungen immer vor dem Wechsel der Zweigstelle festschreiben oder speichern sollten, da Sie Ihre Änderungen nicht in den Zweig kopieren möchten, zu dem Sie wechseln, es sei denn, Sie möchten dies wirklich tun.