针对不再需要但将来可能需要的文件的最佳git实践

针对不再需要但将来可能需要的文件的最佳git实践,git,project-management,Git,Project Management,有时一件工作(比如说一个文件)不再是必需的了。例如,用于执行某个操作的perl脚本不再使用,因为该操作现在被认为是无用的 我不喜欢保留无用的东西,所以我通常会删除该文件,因为我知道我可以在以后从存储库历史记录中获取它 但有时,展望未来,我们可能会猜测,现在不必要的功能在将来的某个时候会再次被需要。当这种情况发生时,我不会乐意去搜索我的存储库历史记录中所有被丢弃的文件 对于这种情况,您有什么建议?就我个人而言,我认为存档的/遗留的文件夹没有问题。这样你仍然可以很容易地找到它 或者,您可以在READ

有时一件工作(比如说一个文件)不再是必需的了。例如,用于执行某个操作的perl脚本不再使用,因为该操作现在被认为是无用的

我不喜欢保留无用的东西,所以我通常会删除该文件,因为我知道我可以在以后从存储库历史记录中获取它

但有时,展望未来,我们可能会猜测,现在不必要的功能在将来的某个时候会再次被需要。当这种情况发生时,我不会乐意去搜索我的存储库历史记录中所有被丢弃的文件


对于这种情况,您有什么建议?

就我个人而言,我认为
存档的
/
遗留的
文件夹没有问题。这样你仍然可以很容易地找到它


或者,您可以在
README.md
中有一个部分,并提供对代码最后版本的提交(尽管这需要记住保持更新)。

只要在提交消息中包含文件名,您可以执行以下操作:

以美元表示的i的
(git rev parse:/“filename.txt”);git是否显示“$i”;完成
这将显示包含与文件名相关的消息的所有提交。然后,您可以通过id恢复相应的commit

提交消息越具体越好,例如
delete filename.txt
,这样您就可以:

用于i,单位为$(git rev parse:/“delete filename.txt”);git是否显示“$i”;完成
我不会乐意去搜索我的存储库历史记录中所有被丢弃的文件

为什么?

列出所有删除的/脚本,或

git show `git log -1 --diff-filter=D --pretty=%h~:your/script -- your/script`

要查看最新信息,请将“显示”更改为“签出”,以便直接取回。

我建议您不要执行任何操作。将脚本保存在repo中,不要使用它。我会删除不需要的文件。它们总是可以找回的,所以它们不会消失。如果你需要一个简单的参考,你甚至可以在提交之前加上标签。我认为你问错了问题。如果您知道在您的历史记录中查找所有已删除的文件并按名称或路径筛选所需文件非常容易,那么您可能不会再三考虑删除它们。这个问题和答案应该为您解决:
git show `git log -1 --diff-filter=D --pretty=%h~:your/script -- your/script`