git
  • 安装教程
  • 本地仓库
    • 工作区与版本库
    • 版本管理
      • 创建版本库
      • 提交修改
      • 撤消修改
      • 删除文件
    • 分支管理
      • 创建分支
      • 合并分支
      • 删除分支
    • 标签管理
      • 创建标签
      • 删除标签
  • 远程仓库
    • 初始化远程库
    • 克隆远程库
    • 多人协作
    • 远程分支
    • 远程标签
    • 关于origin
    • 关于upstream
  • 关于config
    • 关于name与email
    • window上的凭证
  • git常用命令
  • github的使用
  • 容器跑gogs
  • 项目版本管理
    • GitFlow
Powered by GitBook
On this page
  • 情形一
  • 情形二

Was this helpful?

  1. 本地仓库
  2. 分支管理

合并分支

Previous创建分支Next删除分支

Last updated 5 years ago

Was this helpful?

分支的合并主要分以下两种情况

情形一

dev分支一开始是从master分支的某个提交点创建出来的,而后dev分支的代码做了修改与提交,但master分支自创建dev分支后一直没有修改,如图所示

此时,把dev分支合并到master分支比较简单,流程为

1、dev分支提交修改 2、切换到master分支 3、把dev分支合并到master分支

$ git checkout master
$ git merge dev

合并之后,master分支和dev分支都指向了最后一个提交点

情形二

dev分支从master分支创建出来后,两个分支都做了修改和提交,如下图所示

此时把dev分支合并到master分支会冲突

pshizh@peng MINGW64 /e/gitRoot/learngit (master)
$ git merge dev
Auto-merging readme.txt
CONFLICT (content): Merge conflict in readme.txt
Automatic merge failed; fix conflicts and then commit the result.

不过没关系,此时手动修复冲突,然后继续提交

pshizh@peng MINGW64 /e/gitRoot/learngit (master|MERGING)
$ git add *

pshizh@peng MINGW64 /e/gitRoot/learngit (master|MERGING)
$ git commit -m "fix confiction"
[master 5858738] fix confiction

提交之后,dev分支仍然停留在原来的提交点,master分支多了一次提交。状态如下图

如果这时要使dev分支和master分支保持一致,那么可以先删除dev分支,然后再从master分支创建dev分支