我有一行代码最近更改为非工作状态。

我如何才能找出谁以及在哪个提交中更改了此特定行?

我试过了

git log -some_distinct_string_from_that_line --pretty=format:'%h %an -- %s -- %ad'

这显示了所有带有评论和作者的提交,这些提交更改了一行包含“one_distinct_string_from_that_line”的任何内容,但我如何才能看到他们所做的实际更改?

编辑:
我还安装了 git-gui 并查看了带有 git gui blame filename 的行,但是显示的那行只有一个提交更改,尽管肯定有更多更改。

我检查了图形 gui smartgit 以手动查看对该文件所做的所有更改,我发现了 3 个提交,该行肯定被编辑(首先删除了 #,然后在另一个提交中再次添加)

是否有另一种方式不依赖于 git blame 功能,并且不依赖于假设,即该行在 commit-diff 中?

最佳答案

git blame 。 -L 选项采用一系列行,您可以选择一个文件作为 git log。因此 git blame -L 10,20 -- my/file.txt 将显示触及该文件中每一行的最新 git 提交。 git gui blame my/file.txt 做同样的工作,但有一个用户界面让你及时浏览。

关于git - 找出文件中某一行的所有 GIT 更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27443412/

10-14 18:36
查看更多