git diff的最全最詳細的4大主流用法

2021-09-13 15:30:27 字數 2149 閱讀 4754

(1)git diff:當工作區有改動,臨時區為空,diff的對比是「工作區與最後一次commit提交的倉庫的共同檔案」;當工作區有改動,臨時區不為空,diff對比的是「工作區與暫存區的共同檔案」。

(2)git diff --cached 或 git diff --staged:顯示暫存區(已add但未commit檔案)和最後一次commit(head)之間的所有不相同檔案的增刪改(git diff --cached和git diff –staged相同作用)

(3)git diff head:顯示工作目錄(已track但未add檔案)和暫存區(已add但未commit檔案)

與最後一次commit之間的的所有不相同檔案的增刪改。

(3.1)git diff head~x或git diff head^^^…(後面有x個^符號,x為正整數):可以檢視最近一次提交的版本與往過去時間線前數x個的版本之間的所有同(3)

中定義檔案之間的增刪改。

(4)git diff 《分支名1> 《分支名2> :比較兩個分支上最後 commit 的內容的差別

(4.1)  git diff branch1 branch2 --stat    顯示出所有有差異的檔案(不詳細,沒有對比內容)

(4.2)  git diff branch1 branch2              顯示出所有有差異的檔案的詳細差異(更詳細)

(4.3)  git diff branch1 branch2 具體檔案路徑 顯示指定檔案的詳細差異(對比內容)

我們有2個分支:master、dev(dev為develop的縮寫,應是開發新功能的feature分支),檢視這兩個 branch 的區別,除了上面(abc)還有以下幾種方式:

(4.4) git log dev ^master 檢視 dev中log有的commit,而 master中log沒有的commit

(4.5) git log master..dev檢視 dev 中的log比 master 中的log多提交了哪些內容(注意,列出來的是兩個點「..」後邊(此處即dev)多提交的內容)

(4.6) git log dev...master 不知道誰提交的多誰提交的少,單純想知道有什麼不一樣

(4.7) git log --left-right dev...master 在上述情況下,再顯示出每個提交是在哪個分支上

注意 commit 後面的箭頭,根據我們在 –left-right dev…master 的順序,左箭頭 < 表示是 dev 的,右箭頭 > 表示是 master的,截圖中表示這三個提交都是在 master 分支上的

git diff高階文章1:git diff 和 git diff –cached 和 git diff head~x(x為正數)實際應用中的區別對比

git diff高階文章2:git diff的對比物件的爭議?實際**測試+詳細解釋

[1]

[2]

[3]

[4]

[5]

[6]

webview最全面,最詳細講解

首先先看一下webview的詳解 1.簡介 webview是乙個基於webkit引擎 展現web頁面的控制項。android的webview在低版本和高版本採用了不同的webkit版本核心,4.4後直接使用了chrome。2.作用webview控制項功能強大,除了具有一般view的屬性和設定外,還可...

史上最詳細最全面,最聰明的lamp搭配教程

史上最詳細最全面,最聰明的lamp搭配教程,如果通過不了,本作者便去自殺。1.確保安裝如下包 不安裝會提示有錯誤 make b.gcc.c.gcc c 問 如何檢視有無安裝呢?答 rpm q gcc 其他也是同理 問 如果未安裝,如何安裝?答 yum install gcc 一定要聯網,當然也可使用...

史上最詳細最全面,最聰明的lamp搭配教程

史上最詳細最全面,最聰明的lamp搭配教程,如果通過不了,本作者便去自殺。1.確保安裝如下包 不安裝會提示有錯誤 make b.gcc.c.gcc c 問 如何檢視有無安裝呢?答 rpm q gcc 其他也是同理 問 如果未安裝,如何安裝?答 yum install gcc 一定要聯網,當然也可使用...