不确定这是否通常是git thing或gitlab,但我不喜欢它突出显示较深颜色的长连续字符串的相当长的子部分,包括仅更改某些字符时未更改的部分在字符串中。
有没有办法配置gitlab不这样做?即只突出显示那些仅更新的字符
e.g。这就是我在gitlab 8.10
上得到的我希望它只能点亮't'和'i'之间的'2',并突出显示'm'和'a'之间的'g'
答案 0 :(得分:3)
此功能是在Gitlab 8.10中引入的(请参阅"内联差异")。
git
本身使用基于行的差异,因此它将在内部始终存储完整的更改行。但是,git工具还允许直观地突出显示那些已更改的部分,例如与git diff --word-diff=color
。
修改强>
Gitlab 8.10引入的内容是更改行中的其他亮点。即完整更改的线条将以浅绿色/红色突出显示,并且线条内的实际更改将以更深的绿色/红色突出显示。 这就是你在图中看到的:
并在Gitlab的发行说明图中:
显然,Gitlab突出显示包含任何更改的行的最大部分。它可能不会尝试产生最小的变化,可能是由于性能原因。
git --word-diff=color
选项(包括gitk
' Markup words
和Color words
设置)确实产生的亮点较少。比较Gitlab的差异:
来自gitk
的差异:
然而,即使是--word-diff=color
,顾名思义也只会逐字逐句地突出显示。举个例子,它只会突出显示两个单词。以下是gitk
与Color words
:
对于命令行工具(例如git diff
),实际上有一个选项--color-words=.
可以执行您想要的操作:
然而,据我所知,gitk
和Gitlab都不知道这个选项。