在Git中使用一种交替diff算法
因为在Git中使用一种交替diff算法,git,diff,Git,Diff,因为git是为源代码设计的,所以它的默认diff算法将一行视为最小的不可分割单元 我试图编辑一些在第80列用word包装的标记文件。添加一个句子可能会导致段落的其余部分标记为已更改 有没有办法让Git使用更适合文本的diff算法?我需要一个能将单词或句子视为不可分割的单位而不是线的单位?你可以试试git diff--word diff $ git diff --word-diff diff --git a/test.txt b/test.txt index 54585bb..a8cd97e 10
git
是为源代码设计的,所以它的默认diff
算法将一行视为最小的不可分割单元
我试图编辑一些在第80列用word包装的标记文件。添加一个句子可能会导致段落的其余部分标记为已更改
有没有办法让Git使用更适合文本的diff算法?我需要一个能将单词或句子视为不可分割的单位而不是线的单位?你可以试试
git diff--word diff
$ git diff --word-diff
diff --git a/test.txt b/test.txt
index 54585bb..a8cd97e 100644
--- a/test.txt
+++ b/test.txt
@@ -1,7 +1,7 @@
Because git is designed for source code, its diff algorithms {+are bibbity +}
{+bobbity boo+} treat a line as the minimum indivisible unit. I am trying to edit
some markdown files that are word wrapped at column 80. Adding a sentence can
cause the rest of the paragraph to be marked as changed.
Is there a way to have Git use a diff algorithm more suited to text? One that
treats words or sentences as indivisible units rather then lines?
No newline at end of file
也许您正在寻找
word diff
--单词diff[=
]
使用
显示单词diff
划出已更改的单词。默认情况下,
单词由空格分隔;看见
--下面是单词diff regex。
默认为普通,并且必须是以下选项之一:
颜色
仅使用
颜色。暗示——颜色
朴素的
将单词显示为[-removed-]和
{添加}。不想逃跑
分隔符(如果它们出现在
输入,因此输出可能不明确
瓷器
使用特殊的基于行的格式
用于脚本消费。
添加/删除/未更改的管路是
以通常的统一差分格式打印
格式,以+/-/
行首字符
一直延伸到这条线的尽头。
表示输入中的换行符
靠一条自己的线
没有
再次禁用单词diff
请注意,尽管
第一种模式,颜色用于高亮显示
在所有模式下更改的零件,如果
启用
这里是一个自定义此(从)的示例。默认情况下,-word diff假定一个单词是非空白字符字符串。下面的命令将考虑由以下之一组成的词:
git diff --color-words --word-diff-regex='[A-z0-9_]+|[^[:space:]]'
最后一个标志可以全局设置:
git config--global diff.wordRegex'[A-z0-9\+|[^[:space:]'
。或者--word diff
可以有一个可选的
参数,如@manojlds所述。看见