处理冲突,每处理完一次本地commit冲突,用git add标记冲突已处理完,用git rebase --continue继续处理下一个本地commit,也可以先用git rebase -i将本地的commit合并为一个commit,这样git pull --rebase就能一次处理所有的冲突。 push到远程之后,在分支图可以明显看到,跟merge的区别在于,rebase不会产生分支,并且也不会产生新的提交。
总结
merge 是一个合并操作,会将两个分支的修改合并在一起,默认操作的情况下会提交合并中修改的内容。
merge 的提交历史记录了实际发生过什么,关注点在真实的提交历史上面。
rebase 并没有进行合并操作,只是提取了当前分支的修改,将其复制在了目标分支的最新提交后面。
rebase 操作会丢弃当前分支已提交的 commit,故不要在已经 push 到远程,和其他人正在协作开发的分支上执行 rebase 操作。
merge 与 rebase 都是很好的分支合并命令,没有好坏之分,使用哪一个应由团队的实际开发需求及场景决定。