我认为没有更简单的方法可以做到这一点,但我想我会要求确定。
我有一些代码,其中删除了一条重要的行(由我)。我想找出我意外删除该行的提交内容。我能找到的唯一方法是在随后的早期提交中逐个启动git“diff'ing”,直到我找到更改行的提交。
有没有更简单的方法可以找出代码的特定部分被更改的内容?
答案 0 :(得分:24)
如果您只修改或添加了一行,您当然可以使用git blame
。如果您只是完全删除了该行,那么当然对您没有帮助。
如果您至少知道该行中已删除的部分文本,则可以使用git log
的“pickaxe”选项来限制您正在搜索的提交。
E.g。
git log -S"important phrase" -p -- <file>
答案 1 :(得分:5)
git log -p
将为您提供差异的完整日志,您可以搜索或滚动浏览。
git bisect
将为您提供搜索工具支持。在有线的远处开始,在线存在时告诉git bisect good
,在不存在时告诉它git bisect bad
。最终,Git会收敛到它被删除的提交。