git-gerrit-learning icon indicating copy to clipboard operation
git-gerrit-learning copied to clipboard

通俗易懂的 git merge 的策略解释

Open godkun opened this issue 7 years ago • 0 comments

两种合并方式

  • 快速合并 fast-forward

  • 三方合并 thirdparty merge

fast-forward

什么意识呢?我拿远端 master 和 本地的 master 分支做一个说明

远端 master 分支或者本地 master 分支中的一个没有前进,从而当另一方在合并的时候,是直接在当前的分支上向前前进了,从而没有生产新的 commit

thirdparty merge

什么意识呢?我继续拿远端 master 和 本地的 master 分支做一个说明

本地 master 继续向前走了几个 commit ,同时远端的 master 也向前走了几个 commit 。这样的话,当本地 master pull 远端的 master 的时候,就会出现三方合并,为什么叫三方合并,是因为需要三个节点进行合并,本地 master 和 远端 master 的最新的 commitId 节点以及两者的公共祖先 commitId 节点,三者之间的合并,然后生成一个新的 commitId 节点,这就是三方合并。

godkun avatar Jan 22 '19 09:01 godkun