git diff 命令 輸出解讀

2021-09-20 01:47:57 字數 1145 閱讀 3358

# 資料準備

$ vi rainbow.txt

$ cat rainbow.txt

this is my rainbow.

everybody has his own rainbow.

$ git add rainbow.txt

$ vi rainbow.txt

$ cat rainbow.txt

this is my rainbow.

everybody has his own rainbow.

okay,it is your rainbow now.

# 檢視工作區和暫存區當前檔案的區別

$ git diff

diff --git a/rainbow.txt b/rainbow.txt

index c8686ac..5daa196 100644

--- a/rainbow.txt

+++ b/rainbow.txt

@@ -1,2 +1,3 @@

this is my rainbow.

everybody has his own rainbow.

+okay,it is your rainbow now.

第一行:diff --git a/rainbow.txt b/rainbow.txt,git diff實質上用的是diff的文字比較工具,其中a/diff.txt代表原始檔,也就是修改前的檔案,b/diff.txt代表比目標檔案,也就是修改後的檔案;

第二行:index c8686ac..5daa196 100644, index後面兩個z字串表示兩個檔案的hash值,最後的數字是檔案的許可權和屬性(?);

第三四行:---代表原始檔,+++代表目標檔案;

第五行:差異小結,@@ -1,2 +1,3 @@,分為兩個部分,第乙個是-1,2,-表示原始檔,1,2表示從第一行開始的兩行,後面的+1,3,則表示目標檔案的第一行開始的三行內容。差異小結可能會有多個。

剩下的行都是具體的差異資訊,其中以空格開頭的行代表原始檔與目標檔案沒有差異,以-開頭 的行代表在原始檔的基礎上刪除,以+開頭代表在原始檔基礎上新增;

git diff命令 輸出含義

diff命令結果是一種結合兩個待對比檔案區別的上下文的一種格式。a,b兩個檔案對比,那麼除了會直接顯示區別以外,還會顯示各自區別的上下幾行,這樣可以可讀性更強。舉個例子 版本庫a.txt 把最後一行修改為 bbb,然後使用git diff命令檢視區別 diff git a a.txt b a.txt...

git diff命令詳解

git diff命令存在三種常用的形式,或者說更多。不定期更新 git diff git diff命令是將working directory和staging area進行對比。所以基準是staging area.代表在staging area的基礎上少了什麼 代表在staging area的基礎上多...

git diff輸出資訊的含義

問題 使用git diff命令輸出資訊那些符號是什麼意思?版本管理系統git,使用的是合併格式diff的變體。git diff 顯示結果如下 diff git a f1 b f1 index 6f8a38c.449b072 100644 a f1 b f1 1,7 1,7 aa a a ba aa第...