【发布时间】:2012-09-17 11:02:48
【问题描述】:
我的 Git 存储库中的文件中有一个已删除的行。我知道一些缺失的文本,以及它所在的文件,所以我使用了git log -S'missingtext' /path/to/file。
但是,唯一返回的是提交,其中我添加了包含缺失文本的行。该文本不存在于 HEAD 中,并且添加它的提交存在于我的分支中,因此我知道我的分支历史记录中的一个提交一定已将其删除,但它没有显示出来。
经过一些手动搜索,结果发现该行在解决合并冲突时被意外删除。所以我想知道:
- 这就是为什么 pickaxe 找不到删除该行的提交的原因吗?
- 如果不手动挖掘历史记录,我怎么能找到删除“missingtext”的位置?
任何关于#1 的见解都会很棒(我认为git log -S 会给我答案),但我真正的问题是#2,因为我希望将来能够避免这种情况。
【问题讨论】:
-
git log -p和/missingtext而在less中是一种快速的“n”脏方法。