生成patch
1、生成当前分支的patch
生成当前分支指定节点之后的所有patch
生成的patch,会根据节点顺序自动编号,一个commit生成一个patch文件
git format-patch 404777e8586393d5eb6581485fc1bb2bf2e8eb2a //这里长短commit id都可以
2、生成两个节点之间的patch
git format-patch 节点开始..节点结束 //这里长短commit id都可以
//例如
git format-patch aed12..ecf3a
更多详细 https://blog.csdn.net/sunnylgz/article/details/7661920
使用patch
生成patch相对容易,使用时却有些麻烦,尤其是有冲突的时候。
对于有冲突的patch,用搜索引擎搜索出的结果大都是
git apply --reject patch文件
//对于冲突,会生成.rej文件,然后手动解决所有冲突
这种办法在有冲突时,并不好用(因为根据.rej文件手动解决冲突比较麻烦)
我尝试的一个简单方法是
git am --3way patch文件
//解决冲突后
git am --continue
--3way
,会尝试合并冲突到目标文件,而不是另生成.rej文件,这样的好处是可以使用成熟的冲突解决工具