Git:谁修改了这条线?

Iva*_*van 44 git

如果我在我的应用程序中发现了一个错误,有时我需要知道哪些提交已经对bug源代码行产生了影响.我想知道哪个是用Git做的最佳方法.

vcs*_*nes 38

我会用这个git blame命令.这几乎就是它的用途.文档应该可以帮助您入门.


aha*_*rat 28

要查看影响文件foo的第40行的提交:

git blame -L 40,+1 foo
Run Code Online (Sandbox Code Playgroud)

+1表示恰好一行.要查看第40-60行的更改,它是:

git blame -L 40,+21 foo
Run Code Online (Sandbox Code Playgroud)

要么

git blame -L 40,60 foo
Run Code Online (Sandbox Code Playgroud)

第二个数字可以是用"+"或行号指定的偏移量.git blame docs


Set*_*son 9

git blame filename
Run Code Online (Sandbox Code Playgroud)

是向您显示此信息的最佳命令


Fra*_*itt 8

如果您只需要最后一次更改:

git blame
Run Code Online (Sandbox Code Playgroud)

否则,您可以尝试使用自动查找违规更改

git bisect
Run Code Online (Sandbox Code Playgroud)