Die Antwort ist in Ihrer Frage:
Beachten Sie, dass ich noch keine Zusagen gemacht habe, nur verzweigt.
Wenn Sie keinen Commit ausführen, werden die Änderungen immer in Ihrem Arbeitsverzeichnis gespeichert. Das Wechseln der Verzweigung wirkt sich nicht auf Ihr Arbeitsverzeichnis aus und das Arbeitsverzeichnis hat auch keine Auswirkungen auf Ihr letztes Commit. Sie sehen, dass die Datei gelöscht wird, aber die Realität, dass sie nur aus Ihrem Arbeitsverzeichnis gelöscht wird. Wenn Sie die Änderungen löschen und zum letzten Commit zurückkehren möchten, verwenden Sie diesen Befehl:
git reset --hard HEAD
Die Datei wird also wieder hergestellt.
Vielleicht ist es keine Logik für Sie, aber dieses Verhalten kann nützlich sein. Stellen Sie sich vor, Sie haben 2 Zweige: master
und development
, und Sie sollten immer daran arbeiten, development
bevor Sie die Änderungen verschieben master
. Nehmen wir an, Sie haben vergessen, zu wechseln, development
bevor Sie mit der Arbeit beginnen. Dann haben Sie, bevor Sie sich zur Aufgabe begeben, erkannt, dass Sie sich gerade im Moment befinden master
. Die Lösung ist einfach: Wechseln Sie einfach zum development
Commit.