20

我有一个大文件,在中间的某个地方,有一个我知道已经修改过几次的函数。git annotateblame将显示每一行的最新提交,但如果我是对的,它将显示最近的提交,而不是之前影响该行的其他提交的列表。

那么在 Git 中是否有一个命令,我可以在其中说诸如show me commits 之类的影响文件 XYZ 中第 250..260 行的内容

4

5 回答 5

18

正如Git 中的一条评论所建议的那样——如何查看方法/函数的更改历史记录?, 正在做

git gui blame <file>

然后右键单击一行并选择Blame Parent Commit 可以满足我的需要。

于 2012-05-30T13:06:53.803 回答
17

phpStorm 可以做到这一点。选择行 -> 右键单击​​ -> Git -> 显示历史选择

于 2013-03-21T06:25:09.817 回答
7
git show $(git blame XYZ -L 250,260 | awk '{print $1}')

每一行代码总是被记录在案。通过@mislav

于 2014-02-28T08:10:18.270 回答
3

选择行->右键单击-> Git->注释

于 2014-03-21T07:55:58.487 回答
2

我认为这是不可能的。你需要围绕 git blame 编写一个脚本。您可以在 GitHub 上找到此类脚本的 bash 示例

于 2012-05-30T12:50:58.477 回答