web-dev-qa-db-de.com

Git mv rückgängig machen (umbenennen)

Was ist der richtige Weg, um eine Umbenennung in git rückgängig zu machen, wie:

git mv file1 file2
108
jrdioko

Nicht freche Antwort:

git mv file2 file1
181
CanSpice

Wenn Sie seit dem letzten Commit keine weiteren Änderungen vorgenommen haben (die Sie beibehalten möchten), können Sie dies tun

git reset --hard
33
Klas Mellbourn

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.

8
William Pursell

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
8
zedd45

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.

6
Dave Konopka
git reset HEAD file2

hat den Trick für mich gemacht

6
zbig
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.

2

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.

0
sevencontinents