Git:从目录中删除文件,但要确保该文件的版本保留在git历史记录中

问题描述 投票:1回答:2

我是Git的新用户,我想知道以下场景是否可行:

我想“清理”我一直在使用的目录,以便通过删除它包含的一些文件来明确监督我的项目。假设我要删除的文件名为old.txt

但是我不能确定我永远不想再回到这个文件 - 所以我想仍然可以通过使用git历史记录来恢复它。

有没有办法确保这仍然可能?

git
2个回答
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

0
投票

假设您有一个远程存储库,例如Github或Bitbucket。

Git使您可以使用git checkout命令在所有存储库状态之间导航。

唯一丢失你的old.txt就是在你的存储库上执行git push --force或类似的。除了这个命令,你是安全的。

如果不使用--force标志,该命令将仅添加一些历史记录,而不会更改当前历史记录。

当然,我放弃了Github / Bitbucket服务器崩溃或损坏数据的可能性,或者存储库可能被删除的可能性。

© www.soinside.com 2019 - 2024. All rights reserved.