我有一行代码最近被更改为非工作状态。
我如何找出谁以及在哪个提交中更改了这一特定行?
我试过了
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 功能,并且不依赖于该行位于提交差异中的假设?
最佳答案
git blame
。 -L 选项采用一定范围的行,您可以像 git log 一样选择一个文件。所以 git blame -L 10,20 -- my/file.txt
将显示触及该文件中每一行的最新 git 提交。 git gui blame my/file.txt
做同样的工作,但有一个 UI 让你及时浏览。
关于git - 找出文件中某一行的所有GIT变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443412/