git解决冲突会带上另外一方不相关代码

问题背景

我有一个分支a改了两个文件,提交上去了,
然后有一个分支b改了a其中的一个文件,提交上去了。

然后和master的时候a先进行和入了。这个时候b再和入就会有冲突,我们在本地merge解冲突,在b分支会带上a分支的那次commit的所有代码,

解决过程

只提交冲突的代码

和入的时候会把别人新的代码变成自己老的代码,更坑

使用rebase

也会把不是自己更新的提交上去,而且还不能解决冲突。

master分支解决冲突

想到一个解决办法,如果b有冲突,a先和入了,我直接在master解决冲突提交上去。

实验一下可行,直接切换到master分支上,然后merge b分支代码解决冲突,然后再提交上去,就不会显示之前没有修改的代码的提交,但是问题解决是解决了,但是和我们开发工作流不一样,我们之前都是分支开发,云端合并master,现在成了直接往master提交代码了。

b分支解决冲突,但是提交到master

这样直接在b分支mergemaster,然后向master提交会触发冲突,因为本地的和master的是同父节点改的,这个时候需要使用rebase来解决冲突

git fetch origin

git rebase origin/master

git add -u // 添加被修改的文件

git rebase --continue

git push 到master

这样就可以解决这个问题了。但是这个还是直接向master提交代码了。

以上都是分支开发主干发布流做的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值