找出代码在git中更改的时间

时间:2011-04-19 17:32:56

标签: git version-control

我认为没有更简单的方法可以做到这一点,但我想我会要求确定。

我有一些代码,其中删除了一条重要的行(由我)。我想找出我意外删除该行的提交内容。我能找到的唯一方法是在随后的早期提交中逐个启动git“diff'ing”,直到我找到更改行的提交。

有没有更简单的方法可以找出代码的特定部分被更改的内容?

2 个答案:

答案 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会收敛到它被删除的提交。