我是Git的新用户,我想知道以下场景是否可行:
我想“清理”我一直在使用的目录,以便通过删除它包含的一些文件来明确监督我的项目。假设我要删除的文件名为old.txt
。
但是我不能确定我永远不想再回到这个文件 - 所以我想仍然可以通过使用git历史记录来恢复它。
有没有办法确保这仍然可能?
在遍历提交树时(例如,通过使用Git日志),您仍然可以看到对文件所做的更改,并查看哪个提交已将其删除。但是,当您想要返回并可能在以后恢复文件时,这没有用。
我建议在执行删除之前使用Git tag命令标记(“标记”)软件的版本:
git tag -a v0.3-snapshot-before-refactoring -m "Some meaningfull message"
然后,您可以使用Git checkout命令检索此版本:
git checkout v0.3-snapshot-before-refactoring
假设您有一个远程存储库,例如Github或Bitbucket。
Git使您可以使用git checkout
命令在所有存储库状态之间导航。
唯一丢失你的old.txt
就是在你的存储库上执行git push --force
或类似的。除了这个命令,你是安全的。
如果不使用--force
标志,该命令将仅添加一些历史记录,而不会更改当前历史记录。
当然,我放弃了Github / Bitbucket服务器崩溃或损坏数据的可能性,或者存储库可能被删除的可能性。