资料来源

(1) https://git-scm.com/book/zh/v2/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E4%B8%8E%E5%90%88%E5%B9%B6

场景

(1) 由master分支切换到新创建分支branch1,并在branch1上做过修改并提交;

(2) 需要对项目打些补丁,但这些改动不需要和branch1的问题混在一起处理;

注1:这种情况下,需要从branch1切换到master,然后新建一个分支branch2,做对项目打补丁的工作;

1.分支创建与切换-git checkout -b 分支名

(1) git checkout -b branch1

(2) git checkout master

注1:在从branch1切换到master之前,需要保证branch1上所做的修改都已经提交;

(3) git checkout -b branch2

2.分支合并-git merge

(1) 当branch2的改动完成后,可以切换到master分支,并执行合并操作,即git checkout master, git merge branch2;

(2) 将分支branch2合并到master分支后,可以删掉branch2,即执行git branch -d branch2;

(3) 接着,可以切换到branch1,继续分支branch1的工作,即执行git checkout branch1;

注1:此时,branch2分支上所做的工作并没有包含到branch1分支中那个,可以使用git merge master命令将master分支合并入branch1分支,也可以等branch1分支完成后,将branch1合并到master分支;

(4) branch1分支工作完成后,提交,然后切换到master分支,即执行git checkout master;

(5) 将branch1分支上的改动合并到master分支,即git merge branch1;

注1:步骤(5)中,master分支所在提交并不是branch1分支所在提交的直接祖先,这种情况下,git会做一个简单的三方合并,其中的三方为当前master分支所在提交, 当前branch1分支所在提交以及master与branch1分支的共同祖先;

(6) 将branch1分支合并到master分支后,可以删掉branch1,即git branch -d branch1;

3.遇到冲突时的分支合并

注1:如果在两个不同的分支中,对同一个文件的同一个部分进行了不同的修改,git不能干净的合并它们;

注2: 在存在合并冲突的情况下,可以使用git status查看那些因包含合并冲突而处于未合并状态(unmerged)的文件;

注3: git会在有冲突的文件中加入标准的冲突解决标记"<<<<"与">>>>",可以打开这些包含冲突的文件,手动解决冲突;

(1) 手动解决冲突;

(2) 对解决掉冲突的文件执行git add操作;

(3) 执行git status确认所有的合并冲突都已经被解决;

(4) 执行git commit操作完成合并并提交;

最新文章

  1. 使用 SVG 动画实现弹性的页面元素效果
  2. windows+caffe(三)——求取图片的均值
  3. Oracle 查询类似 select top 的用法
  4. 不可或缺 Windows Native (10) - C 语言: 文件
  5. 郎科U208(主控 PS2251-50 HYNIX H27UCG8T2MYR)量产还原
  6. maven 添加中央仓库中没有的jar
  7. Java多线程实现简单的售票程序
  8. linux浏览器,邮件客户端,输入法,双屏设置,应用软件,scrot -s截图,office
  9. printf参数的问题
  10. spring boot 错误,求大神帮解决
  11. 解决Flink输出日志中时间比当前时间晚8个小时的问题
  12. MyDAL - .Where() 之 .WhereSegment 根据条件 动态设置 Select查询条件 使用
  13. SQLSERVER列出所有用户权限
  14. mysql创建和调用out参数的存储过程
  15. 简述采用四次握手机制释放TCP连接的四个步骤
  16. adb、monkey常用命令
  17. Linux简介和安装
  18. Sql Server 查询库表记录数
  19. python3爬虫-爬取新浪新闻首页所有新闻标题
  20. 我的Java学习笔记 -开发环境搭建

热门文章

  1. MySQL插入数据的多种方式
  2. CCRD_TOC_2008年第6期
  3. Linux:grep 查找文件内容
  4. PostGIS之线性参考
  5. OpenLayers结合JSTS实现空间运算
  6. PostgresSQL用returning实现mysql的last_insert_id
  7. js控制关闭layui的switch开关
  8. rabbitmq监控与运维
  9. springboot中实现逆向工程
  10. docker tar包下载地址