我在Git仓库的一个文件中有一行被删除了。我知道缺失文本的一部分,以及它所在的文件,因此我使用git log -S'missingtext' /path/to/file
命令。
然而,返回的结果只有添加缺失文本的那次提交记录。这个文本在HEAD中没有出现,添加该文本的提交记录位于我的分支中,所以我知道我的分支历史记录中的其中一次提交已将其删除,但是它没有显示出来。
经过一些手动搜索,发现这行文本是在解决合并冲突时被意外删除的。因此,我的问题是:
- 这是pickaxe无法找到删除行的提交记录的原因吗?
- 我如何找到“missingtext”被删除的位置,而不需要手动查找历史记录?
对于问题1的任何见解都很好(我认为git log -S
会给我答案),但我的真正问题是问题2,因为我希望能够避免这种情况发生在未来。
less
中使用git log -p
和/missingtext
是一种快速而简单的方法,可以实现这一点。 - nneonneo