ref: git 生成patch和使用patch - 博客 - 博客頻道 - CSDN.NET
http://blog.csdn.net/wangjia55/article/details/8802490
1. git stash
調(diào)試完成代碼之后趁耗,在當(dāng)前倉(cāng)庫(kù)下執(zhí)行如下語(yǔ)句:
git stash园欣;
就能恢復(fù)到修改前的狀態(tài),得到修改文件之后
2. git stash pop
這又恢復(fù)了修改之后的狀態(tài)了习瑰。如果你有多個(gè)倉(cāng)庫(kù)需要管理涌韩,可以使用repo forall命令幫助執(zhí)行肮帐。
3. repo start name .
有時(shí)候修改完代碼之后,不想馬上就提交哼丈,可以另外其一個(gè)分支强窖,在這個(gè)分支上提交,結(jié)束之后再切回原來(lái)的分支削祈。一般常用命令如下,注意name之后有一個(gè)"."翅溺,表示當(dāng)前工程∷枰郑或者使用git checkout -b name 遠(yuǎn)程分支名稱)
4. patch的生成
git diff > patch
git diff --cached > patch
git diff branchname --cached > patch
這個(gè)時(shí)候當(dāng)前目錄下就會(huì)有一個(gè)patch文件咙崎,這是一個(gè)非git環(huán)境也可以使用的patch。對(duì)于這種patch吨拍,在git上使用要用git apply命令褪猛,如下:
### git apply patch
git apply 是一個(gè)事務(wù)性操作的命令,也就是說(shuō)羹饰,要么所有補(bǔ)丁都打上去伊滋,要么全部放棄碳却。ProGit上說(shuō)明在實(shí)際打補(bǔ)丁之前,可以先用git apply --check 查看補(bǔ)丁是否能夠干凈順利地應(yīng)用到當(dāng)前分支中:
git apply --check patch笑旺,如果執(zhí)行完該命令之后沒(méi)有任何輸出昼浦,表示我們可以順利采納該補(bǔ)丁,接下來(lái)就是git上的提交了筒主。
5. git format-patch生成的補(bǔ)丁
1)兩個(gè)節(jié)點(diǎn)之間的提交: git format-patch 節(jié)點(diǎn)A 節(jié)點(diǎn)B
)單個(gè)節(jié)點(diǎn): git format-patch -1 節(jié)點(diǎn)A (-n就表示要生成幾個(gè)節(jié)點(diǎn)的提交)
3)最近一次提交節(jié)點(diǎn)的patch :git format-patch HEAD^ 依次類推……
6. git diff 和git format-patch生成的patch一個(gè)重要不同之處
實(shí)際使用中會(huì)發(fā)現(xiàn)git diff一次只會(huì)生成一個(gè)patch文件关噪,不管差別了多少個(gè)提交,都是一個(gè)乌妙;而git format-patch是根據(jù)提交的節(jié)點(diǎn)來(lái)的使兔,一個(gè)節(jié)點(diǎn)一個(gè)patch。
6. 連接遠(yuǎn)程倉(cāng)庫(kù)
git remote add origin git地址
git push -u origin master