问题描述
有时不再需要某项工作(比方说一个文件)。例如,用于执行某个操作的 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直接拿回来。