2016-08-23 81 views
0

不知道這是一般的git還是gitlab,但我不喜歡它突出顯示一個長連續字符串的相當長的子部分更深的顏色,包括在字符串中僅更改某些字符時未更改的部分。gitlab突出顯示整行而不是隻改變字符串中的字符

有沒有辦法配置gitlab不這樣做?即只突出那些僅更新的字符

例如,這就是我對gitlab 8.10

enter image description here

了,我希望它hightlight只有「2」之間的「T」和「我」,突出「M」之間的「G」「A」

回答

1

該功能是在Gitlab 8.10中引入的(請參見「內聯差異」一節)。

git本身使用基於行的差異,所以它會在內部始終存儲完整的已更改的行。然而,git工具也允許在視覺上突出顯示只有那些改變的部分,例如,與git diff --word-diff=color

編輯

什麼Gitlab 8.10介紹都在改變行額外的亮點。即完整的變化線將以淺綠色/紅色突出顯示,並且線內的實際變化將以較深的綠色/紅色突出顯示。 這是你在圖中看到:

word based diff 1

,並在Gitlab的發行說明圖中:

word based diff 2 gitlab

顯然,Gitlab突出顯示包含任何行的最大部分變化。它不會嘗試產生最小的更改,可能是由於性能原因。

git --word-diff=color選項(包括gitkMarkup wordsColor words設置)確實會產生更少的亮點。用相同的差異從gitk

word based diff 3 gitlab

:比較Gitlab的差異

word based diff 3 gitk

然而,即使--word-diff=color會,顧名思義,只強調一個詞,由詞基礎。舉例來說,它將簡單地突出顯示這兩個詞。這裏是你的情況下,gitk轉載與Color words

word based diff 1 gitk

有關命令行工具(例如git diff),實際上是一個選項--color-words=.會做你想要什麼:

char based diff 1

然而,無論是gitk也不Gitlab知道這個選項,因爲據我所知。

+0

對不起,我不得不取消你的答案,因爲我只是在8.10,但它不是突出顯示只有那些改變,除非有一個選項或配置來打開,我不知道。 – user1589188

相關問題