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