提交的冲突解决:合并(merge)与变基(rebase)中的提交冲突处理

49 篇文章 ¥29.90 ¥99.00

提交的冲突解决:合并(merge)与变基(rebase)中的提交冲突处理


昨天在调试一个嵌入式驱动时,遇到了一个典型场景:我本地的GPIO初始化代码刚改完,准备提交,结果发现队友已经把同一份文件的配置逻辑重构了。git pull 一下,终端里赫然跳出 CONFLICT (content) 的提示。这种时候,你是选择 merge 还是 rebase?两种方式都会遇到冲突,但处理起来的逻辑和影响完全不同。今天我们就来拆解这个问题。


冲突是怎么来的?

冲突的本质很简单:同一段代码在两次提交中被不同的方式修改了。Git 没法自动判断该保留哪一个,只能把决定权交给你。比如你改了某行配置寄存器地址的值,队友删了这行或者改成另一个值,冲突就出现了。

在合并(merge)和变基(rebase)中,冲突出现的阶段不一样。merge 是在合并两个分支的最终节点时一次性暴露所有冲突;rebase 则是把你的一系列提交逐个“重新播放”,每播放到一个与上游冲突的提交,就会暂停让你解决。所以 rebase 的冲突可能会多次出现,但每次冲突的影响范围通常更小。


Merge 冲突处理:保留历史痕迹

Merge 是最常见的整合分支的方式。执行 git merge feature 时如果遇到冲突,Git 会停下来,把冲突文件标记成下面这样:

<<<<<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI_Claude_code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值