【发布时间】:2014-09-14 17:10:34
【问题描述】:
我不小心删除了我的源代码的整个目录...使用了一个不错的 rm -r。我知道,真的很糟糕;但幸运的是,我在包含目录中有一个 git repo。因此,git 有大量已删除文件的 unstaged 更改列表。例如:
"deleted: src/caronmonitor/server.py"
如何取回这些文件?网上有很多建议:
git checkout file
或
git revert <commit>
但据我了解,这会将文件恢复到上次提交时的状态。我不想回到最后一次提交,而是回到删除操作之前。我可以查看 gitk 并查看删除前的文件;因此这必须是可能的。
【问题讨论】:
-
您在删除文件之前是否已暂存该文件?否则 git diff 只会显示最后一次提交的状态
-
他们没有上演。我搞砸了,我的意思是gitk。那么 gitk 中“本地未提交的更改,未签入索引”下的内容是上次提交时的内容?
标签: git git-checkout rm git-revert git-rm