编程技术记录

世界你好!

生成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文件,这样的好处是可以使用成熟的冲突解决工具

© Beli. All Rights Reserved.