美文网首页
使用merge,rebase进行代码合并

使用merge,rebase进行代码合并

作者: 伊凡的一天 | 来源:发表于2017-12-21 11:08 被阅读158次

    git merge和git rebase的功能是类似的,它们都被设计来将一个分支的更改合并入另一个分支。

    1.  git merge

    将master分支合并到feature分支,最简单的办法就是使用以下命令:

    git checkout feature

    git merge master

    或者,你也可以把它们压缩到一行里:

    git merge master feature

    merge master into the feature branch

    feature分支会产生一个新的commit,包含了master分支的变更。

    merge是一个安全的操作,现有的分支不会被更改,避免了rebase 的潜在缺点。另一方面,这同样意味着每次merge时feature分支都会引入一个外来的merge commit,如果master分支非常活跃的话,这或多或少会污染你的分支历史,从而增加理解项目历史的难度。

    2. git rebase

    作为merge操作的替代选择,你可以像下面这样将feature分支并入master:

    git checkout feature

    git rebase master

    它会把feature分支整体移动到master分支后面,有效的把master分支上所有新的commit都合并到feature分支上。因此rebase重写了feature分支的项目历史。

    rebase the feature branch onto master

    rebase最大的优势是你的项目历史会非常的简洁,它不像git merge那样产生新的提交,并且如图所示,rebase导致你的项目历史呈现出完美的线性结构,这让你更容易使用git log,git bisect,gitk查看项目历史。

    参考:github.com/geeeeeeeeek/git-recipes/wiki/5.1-%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6%EF%BC%9AMerge%E3%80%81Rebase-%E7%9A%84%E9%80%89%E6%8B%A9

    相关文章

      网友评论

          本文标题:使用merge,rebase进行代码合并

          本文链接:https://www.haomeiwen.com/subject/xciowxtx.html