之前讲过一次通过git cherry-pick 合入其他分支提交节点,具体见另一篇博客:https://blog.youkuaiyun.com/weixin_43083491/article/details/110203543
但有时一些痛点仍难以解决,譬如今天,代码大量移植,修改了很多文件,持续了一周的代码修改,中间已经有很多同事的提交节点,git pull拉不到最新,因为有冲突,这时怎么办呢?当然可以通过
1、回退自己修改,更新再修改,可是这样太费时间了,大量的修改不知道要多久;
2、当然也可以通过比对工具,保存修改,比对之后合入提交
实际上我们可以通过打补丁的方式,去试着合入
很简单,
1、生成patch
git diff -p <file> >commit.patch
<file>
:要生成补丁的文件
2、合入修改
1、patch -p0 < commit.commit
这里-p0,“p”指的是要剥离的路径,后面的数字表示去掉路径的层数。“0”,表示不去掉,为全路径,如果是-p1 (“p”后面的数字"1",表示去掉第一个路径)
2、git apply <commit.patch>