1. 程式人生 > >git diff 常見用法詳解

git diff 常見用法詳解

diff 常見用法

Git diff

用於比較兩次修改的差異

1.1 比較工作區與暫存區

git diff 不加引數即預設比較工作區與暫存區

1.2 比較暫存區與最新本地版本庫(本地庫中最近一次commit的內容)

git diff --cached [ …]

1.3 比較工作區與最新本地版本庫

git diff HEAD [ …] 如果HEAD指向的是master分支,那麼HEAD還可以換成master

1.4 比較工作區與指定commit-id的差異

git diff commit-id [ …]

1.5 比較暫存區與指定commit-id的差異

git diff --cached [] [ …]

1.6 比較兩個commit-id之間的差異

git diff [] []

1.7 使用git diff打補丁

git diff > patch //patch的命名是隨意的,不加其他引數時作用是當我們希望將我們本倉庫工作區的修改拷貝一份到其他機器上使用,但是修改的檔案比較多,拷貝量比較大,

此時我們可以將修改的程式碼做成補丁,之後在其他機器上對應目錄下使用 git apply patch 將補丁打上即可

git diff --cached > patch //是將我們暫存區與版本庫的差異做成補丁

git diff --HEAD > patch //是將工作區與版本庫的差異做成補丁

git diff Testfile > patch//將單個檔案做成一個單獨的補丁

拓展:git apply patch 應用補丁,應用補丁之前我們可以先檢驗一下補丁能否應用,git apply --check patch 如果沒有任何輸出,那麼表示可以順利接受這個補丁

另外可以使用git apply --reject patch將能打的補丁先打上,有衝突的會生成.rej檔案,此時可以找到這些檔案進行手動打補丁