问题背景
我有一个分支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提交代码了。
以上都是分支开发主干发布流做的