今天早些时候,我发现我的Git存储库中缺少一些代码。我知道一些缺少的文本以及它所在的文件,因此我使用了git log -S'missingtext' /path/to/file。
但是,返回的唯一内容是提交,其中添加了包含缺少文本的行。文本不在HEAD中,添加的提交也存在于我的分支中,因此我知道分支历史中的某个提交一定已将其删除,但没有出现。
经过一些手动搜索后,结果发现该行在解决合并冲突时被意外删除。所以我想知道:
- 这是镐无法找到删除该行的提交的原因吗?
- 在不手动浏览历史记录的情况下,如何找到删除“ missingtext”的位置?
关于#1的任何见解都是很棒的(我认为这git log -S会给我答案),但是我真正的问题是#2,因为我希望将来能够避免这种情况。
git log -p并且/missingtext同时less是一个快速“N”肮脏的方式做到这一点。