Git 处理分支冲突 rebase

rebase

比如你创建了分支开发新功能,另一个人fork了项目做了提交。现在如果那个提交和你相关,那么需要把那个提×××并到本地,
这时就会使用 rebase或者merge
rebse黄金法则: 不要在公共分支 erbase

1、merge 
git checkout feature
git merge master
将master分支合并到feature分支最简单的方式,缺点是会把合并commit上去,造成分支结构混乱

2、rebase
git checkout feature
git rebase master
将master每个提交,创建了提交,重写了历史,分支结构一条线很直观

3、交互式rebase
git checkout feature
git rebase -i master
它会打开一个文本编辑器,显示所有将被移动的提交

解决分支冲突示例

当时我提交merge后,主分支提示不能合并,有冲突(以前我的做法是关闭merge,删除整个项目在fork一份............)

git pull --rebase sre master      #查看冲突
git mergetool                            #解决冲突,vimdiff回车
git rebase --continue               #解决完之后分支继续

Git 处理分支冲突 rebase

上面的文件可以删除
再用原有分支强制push下,git push tengxun daily   即可

猜你喜欢

转载自blog.51cto.com/tengxiansheng/2108287