Отменить git mv (переименовать)
Как правильно отменить переименование в git, например:
git mv file1 file2
8 ответов
Если вы не сделали никаких других изменений (которые вы хотите сохранить) с момента последнего фиксации, вы можете сделать
git reset --hard
Это зависит от того, чего вы хотите достичь. Если вы хотите, чтобы он выглядел так, как будто файл никогда не перемещался, вы можете сбросить (или перебазировать) обратно до перемещения. Если тебя не волнует история, просто верни ее назад.
в моем случае я переместил всю папку, а затем понял, что не должен был.
Мне очень понравился ответ @Dave Konopka, но у меня не было большого успеха с этим подходом (может быть, моя версия GIT (1.8.4)? Мои файлы все еще были удалены. У меня были другие изменения в стеке, которые я не хотел терять (к сожалению).
У меня был успех, делая это:
git reset moved_folder
git checkout original_folder
Если вы случайно переименовали большое количество файлов и хотите вернуться туда, откуда начали, удалите все переименованные файлы, которые отображаются как adds
под git status
звонок.
после удаления всех измененных файлов, вы можете запустить git checkout -- *
чтобы вернуть исходные имена файлов локально.
git reset HEAD file2
git checkout -- file1
rm file2
первая команда unstages file2, но оставляет его копию вокруг. Вторая команда восстанавливает исходный файл, а третья удаляет новый файл.
трюк, который я использовал, состоял в том, чтобы сделать git stash, чтобы отменить все мои изменения (включая восстановление файлов mv'D), а затем удалить stash с помощью git stash drop.