一:git diff 基本用法
- git diff 默認(rèn)比較工作區(qū)暫存區(qū)的差異
- git diff --cached [<path>...] < 比較暫存區(qū)與最新本地版本庫(kù)(本地庫(kù)中最近一次commit的內(nèi)容)
- git diff HEAD [<path>...]比較工作區(qū)與最新本地版本庫(kù)沐兵。如果HEAD指向的是master分支帖鸦,那么HEAD還可以換成master
- git diff commit-id [<path>...]比較工作區(qū)與指定commit-id的差異
- git diff --cached [<commit-id>] [<path>...]比較暫存區(qū)與指定commit-id的差異
- git diff [<commit-id>] [<commit-id>]比較兩個(gè)commit-id之間的差異
- git diff commit-id1 commit-id2 --stat查看兩個(gè)提交版本id修改了那些文件.
- git diff 版本號(hào)碼1 版本號(hào)碼2 src 比較兩個(gè)版本的src 文件夾的差異
二:diff 制作補(bǔ)丁
git diff還可以制作補(bǔ)丁文件柜蜈,在其他機(jī)器上對(duì)應(yīng)目錄下使用 git apply patch 將補(bǔ)丁打上即可
- git diff > patch
patch的命名是隨意的客年,不加其他參數(shù)時(shí)作用是:將我們本倉(cāng)庫(kù)工作區(qū)的修改拷貝一份到其他機(jī)器上使用 - git diff --cached > patch是將暫存區(qū)與版本庫(kù)的差異做成補(bǔ)丁
- git diff --HEAD > patch是將工作區(qū)與版本庫(kù)的差異做成補(bǔ)丁
- git diff filename > patch將單個(gè)文件做成一個(gè)單獨(dú)的補(bǔ)丁
- git apply patch應(yīng)用補(bǔ)丁。
注意:
- 應(yīng)用補(bǔ)丁之前我們可以先檢驗(yàn)一下補(bǔ)丁能否應(yīng)用蚁廓,git apply --check patch 如果沒(méi)有任何輸出潮饱,那么表示可以順利接受這個(gè)補(bǔ)丁谍婉。
- 使用git apply --reject patch將能打的補(bǔ)丁先打上更啄,有沖突的會(huì)生成.rej文件稚疹,此時(shí)可以找到這些文件進(jìn)行手動(dòng)打補(bǔ)丁居灯。