如何才能确定更改发生在哪个提交中?
我在拉取请求中有67个提交。最终差异中存在一个错误,代码应该在那里并被删除。我该如何解决这个问题?我怎么知道改变最终合并差异的那段代码在哪个提交中?
答案 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
部分使输出简洁。