Was ist der richtige Weg, um eine Umbenennung in git rückgängig zu machen, wie:
git mv file1 file2
Nicht freche Antwort:
git mv file2 file1
Wenn Sie seit dem letzten Commit keine weiteren Änderungen vorgenommen haben (die Sie beibehalten möchten), können Sie dies tun
git reset --hard
Es hängt davon ab, was Sie erreichen möchten. Wenn Sie möchten, dass die Datei nie verschoben wurde, können Sie sie vor dem Verschieben zurücksetzen. Wenn Sie sich nicht für die Historie interessieren, verschieben Sie sie einfach zurück.
In meinem Fall habe ich einen ganzen Ordner verschoben und merkte dann, dass ich es nicht tun sollte.
Die Antwort von @Dave Konopka hat mir sehr gefallen, aber ich hatte mit diesem Ansatz nicht viel Erfolg (vielleicht meine GIT-Version (1.8.4)? Meine Dateien wurden immer noch als gelöscht angezeigt. Ich hatte andere Änderungen auf dem Stack, die ich nicht wollte verliere (leider).
Ich hatte Erfolg dabei:
git reset moved_folder
git checkout original_folder
Wenn Sie versehentlich eine große Anzahl von Dateien umbenannt haben und an den Ausgangspunkt zurückkehren möchten, löschen Sie alle umbenannten Dateien, die unter einem Aufruf von git status
als adds
angezeigt werden.
Nachdem Sie alle geänderten Dateien gelöscht haben, können Sie git checkout -- *
ausführen, um die ursprünglichen Dateinamen lokal wiederherzustellen.
git reset HEAD file2
hat den Trick für mich gemacht
git reset HEAD file2
git checkout -- file1
rm file2
Mit dem ersten Befehl wird file2 verworfen, eine Kopie davon wird jedoch gelassen. Der zweite Befehl stellt die ursprüngliche Datei wieder her und der dritte löscht die neue Datei.
Der Trick, den ich verwendete, war, einen Git-Stash zu machen, um alle meine Änderungen rückgängig zu machen (dazu gehört auch das Wiederherstellen der MV-Dateien) und dann den Stash mit Git-Stash-Drop zu löschen.