我現在對控制臺中git-diff的默認配色方案中各種顏色的含義有點迷茫。我似乎找不到關于它們的任何檔案。我在 Manjaro/XFCE 中使用 xfce4-terminal。
看起來git-diff的默認配色是 "斑馬"。我的diff中顯示了八個匯入陳述句,用七種不同的顏色表示。這對我來說似乎有點瘋狂。
謝謝你。
uj5u.com熱心網友回復:
TL;DR
你可能在你的Git配置中設定了diff.colorMoved(運行git config --get diff.colorMoved;要查看誰在設定它,使用git config --list --show-origin)。 默認的if模式確實是zebra,這顯然讓你想到了和我一樣的東西。憤怒的水果沙拉。
長
在昏暗的年代里,沒有顏色。 我們很感激玻璃TTY,它取代了我們的舊列印機。 普通的diff被發明了,它提到了三件事:
- 添加的行,用
a表示; - 洗掉的行,用
d表示;和 - 改變的行,用
c表示。
例如:
$ cat old
$ cat old
第一行
第二行
第三行
第四行
第五行
$ cat new
第一行
插入了
第二行
第四行
第五行
$ diff old new
1a2
> 已插入
3d3
< 第三行
5c5
< 第五行
---
> 第五行
后來,context diff被發明為一種更有用的顯示方式:
$ diff -c old new
*** old 2021-09-13 16:11:48.145950000 -0700
---新的 2021-09-13 16:11:56.597068000 -0700
***************
*** 1,5 ****
第一行
第二行
- 第三行
第四行
第五行
--- 1,5 ----
第一行
插入的
第二行
第四行
! 第五行
標記字母 當然,"改變 "只是意味著 "洗掉和添加"。 在統一模式中,普通的 我將跳過 "背景關系 "和 "統一 "差異之間的精確區別,因為它并不那么有趣,但兩者都提供了背景關系。 "統一 "通常會使輸出更小,更容易被人閱讀,代價是使其略微難以被機器決議。a、d和c分別被替換為行前標記 、-和!
diff使用這些來代替,所以不再有!:$ diff -u old new
--- old 2021-09-13 16:11:48.145950000 -0700
new 2021-09-13 16:11:56.597068000 -0700
@@ -1,5 1,5 @@
第一行
inserted
第二行
-第三行
第四行
-第五行
第5行
Colo(u)r和Git
最終,我們的黑白顯示幕讓位給了彩色、視窗化和所有其他有趣的東西。 很自然地,有人為差異輸出添加了顏色:紅色代表洗掉的文本,綠色代表添加的文本,這很常見。 這無疑是因為最常見的色盲是紅綠色。 因此,git diff出現了,它使用這些顏色來拋棄左欄("gutter")的插入,以擺脫空格和 和-標記......哦,等等,它沒有:
$ git diff old new
diff --git a/old b/new
index 9864d22...8e331db 100644
--- a/old
b/new
@@ -1,5 1,5 @@
第一行
inserted
第二行
-第三行
第四行
-第五行
第5行
這就解決了色盲的問題,對嗎?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/308180.html
標籤:
上一篇:有什么辦法可以在gitrevert前取回已提交的修改嗎?
下一篇:將文本框改為資料網格視圖

