检测提交列表中发生的特定更改

时间:2012-05-08 06:38:17

标签: git

如何才能确定更改发生在哪个提交中?

我在拉取请求中有67个提交。最终差异中存在一个错误,代码应该在那里并被删除。我该如何解决这个问题?我怎么知道改变最终合并差异的那段代码在哪个提交中?

3 个答案:

答案 0 :(得分:1)

如果代码已提交,您可以使用git blame查找发生的事件6.5 Git Tools - track down a bug in your code and want to know when it was introduced and why

如果代码在Github上,您可以在查看相关文件时使用Blame按钮。我使用这种方法来看git& msysgit本身(知道我可能会踩到谁的脚趾; - )。

答案 1 :(得分:0)

如果您知道可以执行的代码是什么:

git log -p

然后搜索那段缺失的代码,哪个提交将其删除。

答案 2 :(得分:0)

通过文件路径过滤也可以快速回答:

git log --pretty=oneline -- src/main/java/com/brunoais/Foo.java

这只会显示影响文件src/main/java/com/brunoais/Foo.java的提交,并在输出的右侧列中显示注释。

这是故障。

  • --部分是路径规范前缀。它可以应用于其他git命令,而不仅仅是git-log。 (它通常是可选的;如果存在歧义,git只需要--,例如,如果文件路径恰好与分支名称相同。)

  • --pretty=oneline部分使输出简洁。