# 資料準備
$ 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第...