我已经删除了文件夹中的所有内容,并且该文件夹为空。我的远程仓库中仍然有一份副本。但是当我做了一个git pull
它没有放回已删除的文件不是应该这样做吗?
所以我做了一些研究,发现你可以通过执行以下操作来恢复文件git checkout <revision> -- <name of file>
但这仅适用于文件。
如何检索目录中的所有文件?
您可以对文件执行的所有操作,也可以对文件夹执行。
另请注意在 Git 存储库中查找并恢复已删除的文件 https://stackoverflow.com/questions/953481/find-and-restore-a-deleted-file-in-a-git-repo
文件已从工作树中删除但尚未提交:
如果您尚未建立索引(git add
)您的更改可以恢复目录的内容:
git checkout -- path/to/folder
如果删除已被索引,您应该首先重置它:
git reset -- path/to/folder
git checkout -- path/to/folder
恢复完整的工作树(不是单个文件夹),但丢失所有未提交的更改
git reset --hard HEAD
当过去在某些提交中删除文件时:
查找影响给定路径的最后一次提交。由于该文件不在 HEAD 提交中,因此该提交一定已将其删除。
git rev-list -n 1 HEAD -- <file_path>
然后使用插入符号 (^
) 象征:
git checkout <deleting_commit>^ -- <file_path>
从远程提交恢复完整的工作树
git reset --hard <revision>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)