Git 分支合并

Git 分支合并

某个功能在开发分支上开发完毕后,需要合并到 master 分支,合并分支有两种方式:

  • git merge
  • git rebase

分支现状展示

  • master 分支的 A 提交点,拉取了分支 user2/i18n
  • user2/i18n 的功能开发总共有两个 commit:EF
  • masterA 提交点之后,又有 BCD 这三个提交被合入进来

Git merge

我们使用 git merge 来合并 user2/i18n 分支到 master 分支上:

# 切换到 master 分支
git checkout master
# 合并 user2/i18n 分支
git merge user2/i18n

合并后的分支示意图:

Git rebase

我们使用 git rebase 来合并 user2/i18nmaster 分支上:

git checkout user2/i18n
git rebase master

# 如果有冲突,则需要解决冲突
# 解决完冲突,使用 git add -u 将完成冲突解决的文件加入到暂存区
# git rebase --continue

# 直接推送,用本地的 user2/i18n 分支更新远程的 master 分支即可
git push origin user2/i18n:master

rebase 之后的分支示例:

mergerebase 对比

  • rebase 相比 merge 少了一次 merge 产生的提交,减轻了代码审核的负担
  • rebase 产生的分支关系图,比 merge 产生的分支关系图更为简单,更有顺序性

扫描下面二维码,在手机端阅读: