打补丁(patch)的方式解决多分支合入问题

本文介绍在代码移植遇到冲突时,如何使用git diff-patch生成补丁并合并到主线,避免逐一回退和冲突解决的繁琐,提高工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前讲过一次通过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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值