资料来源

(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. 剖析flutter_download_manager学习如何做下载管理,暂停和取消

    前言 内容类应用中图片或文件下载,一般应用中应用更新和升级,这些都是经典的下载场景.下载是项目中基础且重要的模块. 从代码逻辑复用性和人力成本考虑,一直想实现一个纯Dart实现的下载库,作为技术储备. ...

  2. 【Java-01-2】java基础-基本语法(2)(关系运算,if,循环)

    1.关系/逻辑/条件 运算符,if语句 /* * 关系运算,if,循环 * 条件:condition * 注意逻辑运算符的短路特性 */ import java.io.*; public class ...

  3. Google Earth Engine——基于新的Landsat SR数据集去云处理

    根据GEE官方公告,明年原来的Landsat/LT05/C01/T1_SR和Landsat/LC08/C01/T1_SR数据集将停止更新,并提供了新的地表反射率数据,就是LANDSAT/LT05/C0 ...

  4. Transformers Pipelines

    pipelines 是使用模型进行推理的一种很好且简单的方法.这些pipelines 是从库中抽象出大部分复杂代码的对象,提供了一个简单的API,专门用于多个任务,包括命名实体识别.屏蔽语言建模.情感 ...

  5. (前端面试题)详解 JS 的 setTimeout 和 setInterval 两大定时器

    程序员面试题库分享 1.前端面试题库 (面试必备)            推荐:★★★★★ 地址:前端面试题库 2.前端技术导航大全      推荐:★★★★★ 地址:前端技术导航大全 3.开发者颜色 ...

  6. Docker之Nginx保姆级别安装

    Docker之Nginx保姆级别安装: 如果觉得样式不好:跳转即可 http://www.lifengying.site/(md文件复制过来有些样式会不一样) 学英语网站项目:自己先保证Redis.N ...

  7. vue2和vue3配置全局自定义参数及vue3动态绑定ref

    在 Vue2.x 中我们可以通过 Vue.prototype 添加全局属性 property.但是在 Vue3.x 中需要将 Vue.prototype 替换为 config.globalProper ...

  8. chrome驱动版本与python不一致时

    图片: 解决办法: 1.先去chrome浏览器找到版本号:在chrome找到帮助-关于Google chrome 2.通过网址:https://npm.taobao.org/mirrors/chrom ...

  9. Selenium无浏览器页面执行测试用例—静默执行

    在执行WebUI自动化用例的时候,经常需要不打开浏览器执行自动化测试,这时就需要用到浏览器的静默执行.浏览器静默执行要点:1.定义Chrome的选项,两种方式任选 chrome_options = w ...

  10. 01爬取豆瓣网电影数据进行numpy的练习

    level 2:10.案例:编写爬虫爬取豆瓣电影排行榜(电影名称,评分),保存为csv文件 a.用numpy加载csv数据 b.把评分列转换成float64类型 c.计算电影的平均评分 d.求评分最高 ...