使用git diff
查看差异时,每次更改都以以下行开头:
@@ -28,41 +20,10 @@ namespace ConsoleApplication1
对于C,最后一部分是非常具有描述性的 - 它显示了例如发生变化的函数。但是对于C#,它只显示命名空间,这不是很有用。我认为那是因为它显示的是没有缩进的最后一行。有没有办法如何配置?
答案 0 :(得分:19)
我找到了,该行称为hunk标题,the documentation说明如何自定义它:
定义自定义hunk-header
文本差异输出中的每组更改(称为“hunk”)都带有以下形式的行前缀:
@@ -k,l +n,m @@ TEXT
这称为hunk标头。默认情况下,“TEXT”部分是以字母,下划线或美元符号开头的行;这符合GNU
diff -p
输出使用的内容。但是,此默认选择不适用于某些内容,您可以使用自定义模式进行选择。首先,在.gitattributes中,您将为路径分配
diff
属性。*.tex diff=tex
然后,您将定义一个“diff.tex.xfuncname”配置来指定一个正则表达式,该表达式与您希望显示为“Hunk”标题“TEXT”的行匹配。在
$GIT_DIR/config
文件(或$HOME/.gitconfig
文件)中添加一个部分,如下所示:[diff "tex"] xfuncname = "^(\\\\(sub)*section\\{.*)$"
请注意。配置文件解析器会使用单级反斜杠,因此您需要将反斜杠加倍;上面的模式选择一个以反斜杠开头的行,然后是零或多次出现的sub,然后是section,然后是open brace,到行尾。
答案 1 :(得分:4)
请参阅gitattributes manpage,“生成差异文本”部分,例如diff.csharp.xfuncname
配置(搜索xfuncname
)。