我是Git的新用户,不知道是否可能出现以下情况:
我想通过删除其中包含的某些文件来“清理”我一直在使用的目录,以保持对项目的清晰监督。假设我要删除的文件称为old.txt
。
但是我不确定我永远不会再回到这个文件了-所以我仍然希望可以使用git历史记录来恢复到该文件。
是否有办法确保仍然可行?
答案 0 :(得分:2)
遍历提交树时(例如,使用Git日志),您仍然可以查看对文件所做的更改,以及哪个提交删除了该文件。但是,这在您想要返回并可能在以后的某个时间点还原文件时没有帮助。
在执行删除操作之前,我建议使用Git tag命令标记(“标记”)软件版本:
git tag -a v0.3-snapshot-before-refactoring -m "Some meaningfull message"
然后您可以使用Git checkout命令来检索此版本:
git checkout v0.3-snapshot-before-refactoring
答案 1 :(得分:0)
假设您有一个远程存储库,例如Github或Bitbucket。
Git使您可以使用git checkout
命令在所有存储库状态之间导航。
唯一丢失old.txt
的是在存储库中执行git push --force
或类似操作。除了此命令之外,您还很安全。
如果不使用--force
标志,则该命令只会添加一些历史记录,而不会更改当前历史记录。
我当然不考虑Github / Bitbucket服务器崩溃或破坏您的数据的可能性,或者存储库可能被删除的可能性。