ich die folgende Sequenz von Kommandos ausführen:Warum sind Änderungen in einem Zweig in einem anderen Zweig sichtbar?
git init rep
cd rep/
echo '111' > 1.txt
git add 1.txt
git commit -m '1'
git checkout -b dev
echo '222' > 1.txt
git checkout master
more 1.txt
Als Ergebnis dieser Befehle I
sehen222
Und ich verstehe nicht, warum. Wie Sie sehen können, erstelle ich und gehe in den Zweig 'dev'. Ich mache dort einige Änderungen, aber ich füge sie nicht hinzu und begehe sie nicht. Warum sehe ich nach dem Wechsel von "dev" zu "master" die Veränderungen, die ich in "dev" gemacht habe? Sollten sie nicht im Entwickler bleiben, bis ich sie addiere, begehe und sie wieder zum Meister zusammenführe?
Änderungen werden im Arbeitsbaum vorgenommen. 'git add' bringt die Änderungen in den Index. 'git commit' erstellt eine Momentaufnahme aller im Index hinterlegten Dateien als Commit. Ein Zweig ist ein Verweis, der auf ein Commit verweist. In Ihrem Fall befinden sich die Änderungen immer noch im Arbeitsbaum. Der Zweig kennt sie noch nicht. – ElpieKay