撤消git mv(重命名)

时间:2011-02-04 20:49:57

标签: git rename undo mv

在git中撤消重命名的正确方法是什么,例如:

git mv file1 file2

9 个答案:

答案 0 :(得分:187)

非厚颜无耻的回答:

git mv file2 file1

答案 1 :(得分:34)

如果自上次提交以来没有进行任何其他更改(您希望保留),则可以执行

git reset --hard

答案 2 :(得分:8)

这取决于你想要完成什么。如果您希望它看起来好像文件从未被移动过,那么您可以在移动之前重置(或重新绑定)。如果你不关心历史,那就把它移回去。

答案 3 :(得分:8)

在我的情况下,我移动了整个文件夹,然后意识到我不应该。

我真的很喜欢@Dave Konopka的答案,但是我没有用这种方法取得太大的成功(也许是我的GIT版本(1.8.4)?我的文件仍然显示为已删除。我对其进行了其他更改堆栈我不想失去(不幸的是)。

我确实做到了这一点:

git reset moved_folder
git checkout original_folder

答案 4 :(得分:6)

如果您意外重命名了大量文件并希望返回到您开始的位置,请删除adds来电下显示为git status的所有重命名文件。< / p>

删除所有已更改的文件后,您可以运行git checkout -- *以在本地恢复原始文件名。

答案 5 :(得分:6)

git reset HEAD file2

为我做了伎俩

答案 6 :(得分:2)

git reset HEAD file2
git checkout -- file1
rm file2

第一个命令unstages file2但是留下了它的副本。第二个命令恢复原始文件,第三个命令删除新文件。

答案 7 :(得分:0)

我使用的技巧是做一个git stash来撤消我的所有更改(包括恢复mv&#39; d文件),然后用git stash drop删除存储。

答案 8 :(得分:0)

少怕惊的是去回购的顶层并做:

git reset
git checkout。