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

问题描述

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

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

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

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

解决方法

就我个人而言,我认为 archived/legacy 文件夹没有任何问题。这样您仍然可以轻松找到它。

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

,

只要您在提交消息中包含文件名,您就可以:

for i in $(git rev-parse :/"filename.txt"); do git show "$i"; done

这将显示所有提交以及与您的文件名相关的消息。然后,您可以通过 id 还原相应的提交。

提交信息越具体越好,例如 delete filename.txt 这样你就可以做到:

for i in $(git rev-parse :/"delete filename.txt"); do git show "$i"; done
,

我不会乐于在我的存储库历史记录中查找所有丢弃的文件。

为什么?

git log --oneline --name-status --diff-filter=D -- your/script

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

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

想看最新的,把show改成checkout直接拿回来。