使用git管理工程至關方便,打補丁時可以使用命令 git format-patch -M 指定某個分支依次建立到達當前分支所通過的每次commit與前一次提交的補丁。git
以下:shell
git checkout master git checkout -b feature git commit * N times git format-patch -M master 1.會產生多個patch文件 2.若是咱們下載了master分支,須要對master依次打上產生各個patch才能到達feature master->patch*N times ->feature 顯得很不方便 所以須要產生這樣的patch master->patch->feature
下面簡述兩種收集到的方法
segmentfault
1.從 master 再建立一個分支 git checkout master && git checkout -b patch 2.用 squash 命令 git merge feature --squash 而且編輯一下 comment 3.用 git format-patch 導出補丁 4.補丁被承認後,刪掉 patch 分支
1.使用 git rebase -i [feature 分支剛從master分出來的hash值] 2.進入交互式文本編輯 把需合併的第一個提交前面的 pick 改爲 reword 其餘提交前面的 pick 改爲 squash 3.這樣修改註釋、合併提交就一併完成了。 再正常 format-patch 便可。
方案一比較麻煩,但能夠保留歷史提交。方案二相對粗暴,是利用消減部分commit信息達到目的。但相對方便的多.
spa
http://segmentfault.com/q/1010000000332524code