Git(四):理解和使用分支
假设你跳过了前面章节直接进入本章。能够从Github上克隆这个版本号库:
什么叫分支
我们为什么要使用分支? 1. 在项目功能任务较多的情况下,能够利用分支进行功能点的切分。2. 在团队协作的情况下,假设Git仅仅使用一条版本号演进的轨迹。那么这条轨迹中代码将可能很混乱,很多成员会上去实时的提交自己的代码,而自身的代码也与轨迹中的代码常常不一致,使用分支则能减少这样的混乱,成员仅仅有在自己已开发完毕自己的功能代码后。才会将代码合并到主分支。
- 试验性更改:比方想測试新算法,看看是否够快;或者为某个特别的模式重构部分代码。
- 添加新功能:为每一个新功能的开发创建新分支,完毕该功能的开发后。就能够合并回主分支。这时就能够选用一般方法合并该分支上的全部的历史记录,或者将全部历史记录压合在一份提交中。
关于不同的合并策略,后面会具体讲到。
- Bug修复:无论是修复未公布代码中的Bug。还是修复已经标记公布代码中的Bug,都能够创建新分支来跟踪对该Bug的改动。
创建新分支
.png)
.png)
合并分支间的改动
- 直接合并(straight merge):把两条分支上的历史轨迹合并,交汇到一起。
- 压合合并(squashed commits):将一条分支上的若干个提交条目压合成一个提交条目,提交到还有一条分支的末梢。
- 拣选合并(cherry-picking):拣选还有一条分支上的某个提交条目的修改带到当前分支上。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVHJveV9f/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
在这里是主分支。
.png)
.png)
.png)
.png)
首先导出到contact分支下。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvVHJveV9f/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
.png)
以下将它拣选合并到主分支上:
.png)
这就告诉Git在创建提交前须要连续进行合并操作。以下介绍详细步骤。
后面会具体讲到该命令。
.png)
.png)
冲突解决
冲突总是发生在对不同分支上的同一文件的同一文本块以不同的方式改动,并试图合并的时候。以下演示怎样处理冲突。
.png)
.png)
然后保存并提交改动。
.png)
.png)
第一,<<<<<<<后面尾随的是当前分支中的代码。而>>>>>>之前的则是还有一条分支上的代码;第二。在<<<<<<和>>>>>>行文件名称之前。是所在分支的名称。本例中是HEAD,请记住,HEAD指向当前分支末梢的那个提交。它和about2分支有冲突。
删除分支
分支重命名
将參数-m改为-M,就能够覆盖已有分支名称了。大写"M"通知Git,假设当前的分支名称已经存在。则强制覆盖现有分支。这样的操作要小心使用。
Git(四):理解和使用分支的更多相关文章
- git 四个基本对象、分支、三个存储区、reset-revert-变基、cherry-pick
1:git四个基本对象 2:工作区.缓存去.历史区 3:Git 分支介绍 https://blog.csdn.net/wh_19910525/article/details/7470964 ...
- Git(四):Git远程操作详解
转: http://www.ruanyifeng.com/blog/2014/06/git_remote.html Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多 ...
- 对git的理解及常用指令
以前总听说git[分布式版本控制系统]自己愣是搞不懂它到底要干哈-什么叫版本控制系统根本理解不了.现在工作需要必须要用到,结果好像就突然懂了git是干什么滴. 所以!原理这个东西的理解是要建立在大量的 ...
- 《Pro Git》笔记3:分支基本操作
<Pro Git>笔记3:Git分支基本操作 分支使多线开发和合并非常容易.Git的分支就是一个指向提交对象的可变指针,极其轻量.Git的默认分支为master. 1.Git数据存储结构和 ...
- git学习整理(1)git clone 理解
1.git clone 的理解 git clone默认会把远程仓库整个给clone下来 ,只能clone远程库的master分支并在本地默认创建一个master分支 ,无法clone所有分支,若想要其 ...
- Git 学习(六)分支管理
Git 学习(六)分支管理 几乎每一种版本控制系统都支持分支.使用分支意味着你可以从开发主线上分离开来,然后不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录 ...
- Git中从远程的分支获取最新的版本到本地方式
Git中从远程的分支获取最新的版本到本地方式如下, 如何更新下载到代码到本地,请参阅ice的博客基于Github参与eoe的开源项目指南 方式一 . 查看远程仓库 $ git remote -v eo ...
- Git学习教程三之分支管理
实战流程: 1:代码库克隆一份至本地 2:新分支操作 2.1 在需要的文件中创建并指向新的分支方便写代码 git checkout -b <name> 2 ...
- 【Git的基本操作六】分支管理
分支管理 1. 什么是分支? 在版本控制过程中,使用对条线同时推进多个任务. 2. 分支的好处 同时并行推进多个功能开发,提高开发效率 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任 ...
随机推荐
- Hibernate 快速上手操作入门
本文主要是从技术操作角度去介绍hibernate,并且简单描述如何快速的上手操作hibernate,用于作为与数据库的连接的持久层. 简单讲述一下hibernate究竟是什么,它有什么作用,在理解它的 ...
- KMP【UVA1328】 Period
Description 如果一个字符串S是由一个字符串T重复K次形成的,则称T是S的循环节.使K最大的字符串T称为S的最小循环节,此时的K称为最大循环次数. 现给一个给定长度为N的字符串S,对S的每一 ...
- UVA——11988 Broken Keyboard (a.k.a. Beiju Text)
11988 Broken Keyboard (a.k.a. Beiju Text)You’re typing a long text with a broken keyboard. Well it’s ...
- POJ 2739:Sum of Consecutive Prime Numbers(Two pointers)
[题目链接] http://poj.org/problem?id=2739 [题目大意] 求出一个数能被拆分为相邻素数相加的种类 [题解] 将素数筛出到一个数组,题目转化为求区段和等于某数的次数,尺取 ...
- unity3d Billboard
CameraFacingBillboard CameraFacingBillboard From Unify Community Wiki Jump to: navigation, searc ...
- C语言基础之自增自减运算符及注意事项
1.具体用法 1: int b; 2: int a = 10; 3: // b = 10 + 12; 4: //b = (a++) + (++a); 5: 6: // b = 11 + 11; 7: ...
- /usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux)
/usr/local/lib/libz.a: could not read symbols: Bad value(64 位 Linux) /usr/bin/ld: /usr/local/lib/lib ...
- 小程序 wx:for 循环嵌套
json数据: [//library-6F [//library-6F-601 [//id:1-1 ,8(Y/N),9(Y/N)……21(Y/N) 'Y','Y','Y' ...
- iis7文件夹 首页设置
iis7在默认文档中可以设置首页,一般可以直接设置网站根目录下的页面为首页,但是当页面不在根目录下时,直接按路径添加就不行了,如“admin/default.aspx”.添加完后只有“default. ...
- vsftp 服务配置篇
在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd (very serure ftp) 搭建vsftpd 服务 yum 安装需要用两个包:vsftpd 和 db4-util ...