随心所欲生成git仓库任意一段commit的专用patch应用小实践
我们在开发中,时不时的可能要去做一个patch给你的下线,或者你的合作者。在git管理中,我们知道有git format-patch命令,那怎么使用呢?
笔者下面就以实际例子来记录一下这个过程:
/*****************************************************************************************************/
声明:本博内容均由http://blog.csdn.net/edsam49原创,转载请注明出处,谢谢!
/*****************************************************************************************************/ 我们有两个branch,一个是 kk-a20-allwinner是base分支,base这个分支我们产生了一个开发分支a20-kitkat-dev。经过一段时间的开发,我们在开发分支上一家有一些改动了,假如有问题需要别人协查,人家也只有kk-a20-allwinner这个base分支代码,那我们总不能把开发分支的代码打包传给别人吧。那我们就需要做patch,利用format-patch命令。下图是笔者的操作记录截屏:
产生了多个patch,具体多少个patch就看你基于base分支后你做了多少次git commit,一个commit对应一个patch,然后把这些patch给对方,对方按照patch的顺序从0001开始的patch一个个打上去就可以了,这样的话就减少了很多的数据传输,效率还是高一些。
那下面我就来谈谈,我们怎么做开发分支的一部分的patch,比如就是最近提交的三个commit。操作如下:
要基于开发分支先克隆一个branch出来,再回退三个commit,你要做几个commit的patch你就回退几个commit,然后还是利用format-patch来做。如果要做开发分支中间几个commit的patch,大体方法还是差不多,只不过先退到要做patch的commit位置,再克隆branch,再在克隆分支上回退几个你想做patch的commit,方法还是差不多,活学活用就好了。