git:责怪在给定提交中更改的每行的先前版本

gio*_*ian 9 git blame git-commit

对于给定的提交,我需要对每行更改的先前版本负责,但是表示提交.

如果有一个提交更改了文件a上的第2行和第3行,我想要一种方法来查看git blame commit^限制为前导码和第2行和第3行的输出.

我怎样才能做到这一点?

编辑

好像我必须明确指定我正在寻找一种方法以编程方式执行上述操作,而不是亲眼检查提交,确定哪些文件哪些行已更改,然后手动运行git blame为每个单独更改文件.

Ale*_*dro 0

你可以试试:

git blame <commit>^ -- filename | head -3 | tail -2
Run Code Online (Sandbox Code Playgroud)

  • 这实际上并没有完成问题所要求的操作——它只是显示了上一个提交,而不管这一行中更改了哪些行。请参阅一些关于为什么这可能很困难的讨论:http://git.661346.n2.nabble.com/git-blame-and-finding-previous-version-of-a-line-td2363880.html (2认同)