2016-05-31 40 views
2

如何讓Git在代碼語法突出顯示的終端顯示差異,就像GitHub所做的那樣?我的意思不僅是綠色的添加和紅色的刪除,但也與代碼語法高亮。Syntax Highlighted Diffs

+0

我懷疑Git提供的原始工具是否可行。您可能希望升級到更全面的差異化工具。 – Makoto

回答

2

代碼語法突出顯示不直接與git一起使用。
什麼可總結的「Vive la git diff!」,與像公用事業:

$ git diff ‐‐color-words 
# or 
$ git diff | ~/src/git/contrib/diff-hightlight/diff-highlight 

It was the best of times, 
-it was the **blu**rst of times. 
+it was the **wo**rst of times. 

(在**xx**部分實際上是有色)

但這些亮點不依賴於語言本身。
git diff-so-fancy這樣的更復雜的擴展仍然是着色差異塊,而不是代碼語法。

poke提到in the comments比較工具semanticmerge.com,它知道更多有關文件的語文顯示差異:看到它的configuration with git

+0

當然還有一些你可以使用的diff/merge工具,其中一些工具更專門針對實際的語言,例如http://semanticmerge.com/ – poke

+0

它仍然是一個問題,當應用語法突出顯示時diff會有多少可讀性。至少在終端,有一個相當有限的顏色表。綠色的增加和紅色的刪除聽起來對我來說更合理。 – hek2mgl

+0

@poke真的。我不知道「一堆」,但這一個來自PlasticSCM工具:http://codicesoftware.blogspot.com/2013/07/semanticmerge-goes-visual.html – VonC