看看git的指责,但也看看以前的git对同一行的指责

看看git的指责,但也看看以前的git对同一行的指责,git,Git,很多时候,我看着一条线,看到了它的罪魁祸首。然后我得到了类似“固定缩进”的结果。 我希望能够在缩进修复之前进行一次提交,并再次看到该行的错误。 这有意义吗?我能不能在不结账的情况下,手动再次责怪他们?这绝对是可能的。假设无用提交的散列是abcdef1。然后可以使用abcdef1~1访问其父级(上一次提交)。因此,要责怪提交之前的abcdef1,请运行: git blame abcdef1~1 file.txt 这绝对有可能。假设无用提交的散列是abcdef1。然后可以使用abcdef1~1访问

很多时候,我看着一条线,看到了它的罪魁祸首。然后我得到了类似“固定缩进”的结果。
我希望能够在缩进修复之前进行一次提交,并再次看到该行的错误。

这有意义吗?我能不能在不结账的情况下,手动再次责怪他们?

这绝对是可能的。假设无用提交的散列是
abcdef1
。然后可以使用
abcdef1~1
访问其父级(上一次提交)。因此,要责怪提交之前的
abcdef1
,请运行:

git blame abcdef1~1 file.txt

这绝对有可能。假设无用提交的散列是
abcdef1
。然后可以使用
abcdef1~1
访问其父级(上一次提交)。因此,要责怪提交之前的
abcdef1
,请运行:

git blame abcdef1~1 file.txt

自责内置GUI程序通常提供一个选项,从发现提交的父级开始进一步自责。例如,
git$file
在一行的上下文菜单中有这样的项。我更喜欢的是
gitk
中的“查找此行的原点”命令-它更关注我真正想要的东西。然后,如果有必要,我在find diff中较旧的行上再次运行它。

内置GUI程序通常提供一个选项,从find commit的父级开始进一步责备。例如,
git$file
在一行的上下文菜单中有这样的项。我更喜欢的是
gitk
中的“查找此行的原点”命令-它更关注我真正想要的东西。然后,如果有必要,我会在发现的差异中的旧行上再次运行它。

这不是对您的问题的回答,但这是git的一个一般提示:您不应该使用
git责备来找出是谁更改了行。移动/重命名文件、修复缩进等操作将显示“错误”
作为该行作者的人。根据我在大型项目中的经验,大多数情况下,git的指责都是错误的

我发现,要找到“正确”的更改作者(编写代码/更改其逻辑的人,而不是装饰性的人),最有效的方法是在命令行中运行:

git log -p -- path/to/file
  • -p
    补丁显示每次提交时对文件的更改
  • --
    文件(注意前后空格)仅适用于指定的文件

然后搜索输出(使用
/
,输入模式,然后按
n
跳转到下一个匹配项)以查找相关行的一部分。然后,您可以向上滚动查看提交和您要查找的作者。

这不是对您的问题的回答,但这是git的一个一般提示:您不应该使用
git bull
来找出是谁更改了行。移动/重命名文件、修复缩进等操作将显示“错误” 作为该行作者的人。根据我在大型项目中的经验,大多数情况下,git的指责都是错误的

我发现,要找到“正确”的更改作者(编写代码/更改其逻辑的人,而不是装饰性的人),最有效的方法是在命令行中运行:

git log -p -- path/to/file
  • -p
    补丁显示每次提交时对文件的更改
  • --
    文件(注意前后空格)仅适用于指定的文件

然后搜索输出(使用
/
,输入模式,然后按
n
跳转到下一个匹配项)以查找相关行的一部分。然后,您可以向上滚动查看提交和您要查找的作者。

换句话说,不需要结帐责备,您可以从任何版本开始责备您可以使用
^
而不是
~1
@hobbs是的,但它有两个缺点。我宁愿计算以前的提交次数而不是父级提交次数(我发现
~2
^
更有用,
^
是Windows环境中的一个特殊字符。换句话说,不必因为签出而受到责备,你可以责怪从任何版本开始使用
^
而不是
~1
@hobbs是的,但它有两个缺点。我宁愿计算以前的提交而不是父级提交(我发现
~2
^
更有用,
^
是Windows环境中的一个特殊字符。