我最近在本地机器上克隆了一个存储库,然后对其中一个文件执行了 git remove 并将这些更改推送回 github 存储库。我的问题是如何将该文件恢复到原始 github 存储库中?
问问题
16064 次
5 回答
32
如果您可以找到包含abcd
已删除文件的先前提交,则可以使用
git checkout abcd 文件恢复
恢复它。您需要再次提交该文件。
于 2013-10-07T00:28:32.813 回答
27
假设文件“undelete.sh”被意外删除。
然后获取删除该文件的提交的哈希:
git rev-list -n 1 HEAD -- undelete.sh
这为您提供了删除的哈希值:
ae85c23372a8a45b788ed857800b3b424b1c15f8
现在您可以在删除之前检查文件的版本:
git checkout ae85c23372a8a45b788ed857800b3b424b1c15f8^ -- undelete.sh
你应该把文件拿回来。您可以添加、提交并将其推送到存储库。
(来源)
于 2019-08-13T23:31:00.327 回答
2
1.如果删除的文件在你的.gitignore
,那么你可以删除它,然后.gitignore
再次git add
。
2.您可以使用git reset 'commit id contains your deleted file'
然后合并并再次推送它。
于 2013-10-07T04:30:28.647 回答
1
其他解决方案对我不起作用。我就是这样做的。
这就是我获得提交哈希的方式。(从上面复制)
git rev-list -n 1 HEAD -- src/main/java/runner/Main.java
这给了我
6009ff608bc580cf38baf5fa67e232c8bd20c5a7
而且,这就是我恢复它的方式。
git checkout 6009ff608bc580cf38baf5fa67e232c8bd20c5a7~1 src/main/java/runner/Main.java
于 2020-11-25T09:44:52.013 回答
-1
您应该使用git reset HEAD~
然后使用git checkout -- <filename>
来恢复已删除的文件。
于 2019-06-20T01:36:00.857 回答