Merge VS Rebase
Posted loop0day
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Merge VS Rebase相关的知识,希望对你有一定的参考价值。
Alice fork了Bob的upstream仓库(此时upstream仓库位于2),在fork的仓库中基于2提交了5,此时Alice基于5新建了enhance分支,提交7对master分支进行功能性增强,接着继续在master分支提交了6。
一段时间后,Alice对enhance分支的功能性增强很满意,决定在Bob的upstream仓库中发起pull request,Alice该怎么做?
由于Bob在2之后又进行了3和4的提交,所以Alice需要先fetch最新版upstream仓库的master分支,将其merge到fork的仓库的master分支中,如果有冲突需要解决冲突。
添加上游仓库upstream,名字随意。
1 git remote add upstream <repository>
更新上游仓库upstream。
1 git remote update upstream
将上游仓库upstream的master分支合并到当前仓库的master分支,如下图所示。
1 git checkout master 2 git merge --no-ff upstream/master
将当前仓库的enhance分支rebase到master分支上,如下图所示。
1 git checkout enhance 2 git rebase -i master
此时再通过enhance分支进行pull request即可。
扩展知识
2) https://git-scm.com/docs/git-rebase
以上是关于Merge VS Rebase的主要内容,如果未能解决你的问题,请参考以下文章
好文转发git rebase vs git merge对比详情