jrd*_*oko 126 git rename undo mv
在git中撤消重命名的正确方法是什么,例如:
git mv file1 file2
Run Code Online (Sandbox Code Playgroud)
Can*_*ice 211
非厚脸皮的回答:
git mv file2 file1
Run Code Online (Sandbox Code Playgroud)
Kla*_*urn 37
如果自上次提交后您没有进行任何其他更改(您希望保留),则可以执行此操作
git reset --hard
Run Code Online (Sandbox Code Playgroud)
git reset HEAD file2
Run Code Online (Sandbox Code Playgroud)
为我做了诀窍
这取决于你想要完成什么.如果您希望它看起来好像文件从未被移动过,那么您可以在移动之前重置(或重新绑定).如果你不关心历史,那就把它移回去吧.
在我的情况下,我移动了整个文件夹,然后意识到我不应该.
我真的很喜欢@Dave Konopka的答案,但是我没有用这种方法取得太大成功(也许是我的GIT版本(1.8.4)?我的文件仍显示为已删除.我在堆栈上有其他更改,我不想要失败(不幸的是).
我确实做到了这一点:
git reset moved_folder
git checkout original_folder
Run Code Online (Sandbox Code Playgroud)
如果您不小心重命名了大量文件并希望返回到您开始的位置,请删除所有重命名的文件,这些文件显示adds在git status通话中.
删除所有已更改的文件后,可以运行git checkout -- *以在本地恢复原始文件名.
git reset HEAD file2
git checkout -- file1
rm file2
Run Code Online (Sandbox Code Playgroud)
第一个命令取消暂存 file2 但留下它的副本。第二个命令恢复原始文件,第三个命令删除新文件。