资料来源

(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操作完成合并并提交;

【git】3.2git分支-分支的新建与合并的更多相关文章

  1. SourceTree使用详解(连接远程仓库,克隆,拉取,提交,推送,新建/切换/合并分支,冲突解决)

    前言: 俗话说的好工欲善其事必先利其器,Git分布式版本控制系统是我们日常开发中不可或缺的.目前市面上比较流行的Git可视化管理工具有SourceTree.Github Desktop.Tortois ...

  2. 3.2 Git 分支 - 分支的新建与合并

    分支的新建与合并 现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 假设此时,你突然接到一个 ...

  3. [转] Git 分支 - 分支的新建与合并

    http://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA%E ...

  4. Git 分支 - 分支的新建与合并

    转载自:https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB ...

  5. .2 Git 分支 - 分支的新建与合并

    分支的新建与合并 https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0% ...

  6. Git 分支 - 分支的新建

    https://git-scm.com/book/zh/v1/Git-%E5%88%86%E6%94%AF-%E5%88%86%E6%94%AF%E7%9A%84%E6%96%B0%E5%BB%BA% ...

  7. git 本地分支与远程分支 新建/删除/合并

    github上已经有master分支 和dev分支 在本地 git checkout -b dev 新建并切换到本地dev分支 git pull origin dev 本地分支与远程分支相关联 在本地 ...

  8. git 使用详解(9)-- 分支的新建与合并 git branch -d、merge、 --merged/--no-merged/-v

    现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程: 开发某个网站. 为实现某个新的需求,创建一个分支. 在这个分支上开展工作. 假设此时,你突然接到一个电话说有个很严重的 ...

  9. Git 系列教程(12)- 分支的新建与合并

    实际工作场景 可能会遇到的工作流 开发某个网站 为实现某个新的用户需求,创建一个分支 在这个分支上开展新工作 正在此时,你突然接到一个电话说有个很严重的问题需要紧急修补,你将按照如下方式来处理: 切换 ...

  10. Git (13) -- Git 分支 -- 分支的新建与合并

    @ 目录 0.准备工作 1.新建分支 一个简单提交历史: 创建一个新分支指针: iss53 分支随着工作的进展向前推进: 基于 main 分支的紧急问题分支 hotfix branch: main 被 ...

随机推荐

  1. NSAIDs以优化剂量治疗中轴型SpA:聚焦6周期间骶髂关节MRI变化

    NSAIDs以优化剂量治疗中轴型SpA:聚焦6周期间骶髂关节MRI变化 PresentID: OP0170 TREATMENT OF AXIAL SPONDYLOARTHRITIS WITH AN O ...

  2. jQuery使用与语法

    jQuery安装 1.从官网Download jQuery | jQuery下载安装: 2.CDN在线加载: statistic CDN:https://cdn.staticfile.org/jque ...

  3. js-解决安卓手机软键盘弹出后,固定定位布局被顶上移问题

    分析:软键盘弹出后,导致页面高度变化 解决方案:软键盘弹出后,修复页面高度 // 监听窗口变化 resizeScreen(){ if (!this.state.isIOS && thi ...

  4. C#获取各种当前日期时间

    我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...

  5. vue 利用xlsx、xlsx-style、file-saver实现前端导出excel表格 (包括设置单元格居中、边框等样式) antdesignvue、elementui、vxetable 等都适用

    我用的方法是在表格的根组件外层赋一个div用来导出整个表格,所以antdesignvue.elementui.vxetable 或者原生的table写法应该全都适用,此处我用的框架为antdesign ...

  6. [CSS]背景图片很大,根据屏幕缩小适配后,div之间有空隙的问题

    RT.美术给的素材宽度是1080px的. 在不缩放的情况下,1080px宽度的屏幕显示div之间正常,没有空隙,但使用transform属性之后,div缩小,div之间有空隙(白线) 百度有人说给这些 ...

  7. vue学习 第二天 CSS基础

    CSS: 层叠样式表  ( Cascading Style Sheets ) 的简称 1.css简介 1)也是一种标记语言 2)主要用来设置html页面中,标签的样式. 3)css美化了html页面, ...

  8. consul剔除某个服务

    curl --request PUT  http://ip:端口/v1/agent/service/deregister/服务对应的id地址

  9. MariaDB 搭建主备及主主

    一.主备 可参考:MariaDB之GTID主从复制 二.主主

  10. java 复习篇1-----人机交互

    CMD命令 盘符名称+冒号 说明:盘符切换 举例:e:回车,表示切换到e盘 dir: 说明:查看当前路径下的内容 cd目录: 说明:进入单级目录 举例:cd itheima cd. . 说明:回退到上 ...