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. 分支的好处 同时并行推进多个功能开发,提高开发效率 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任 ...
随机推荐
- HDU 5649.DZY Loves Sorting-线段树+二分-当前第k个位置的数
DZY Loves Sorting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Oth ...
- luogu P1577 切绳子
题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长?答案保留到小数点后2位. 输入输出格式 输入格式: 第一行两个整数N和K,接下来N行,描 ...
- linux命令和工具
环境搭建 lnmp环境搭建 命令 uname -a 查看linux版本 lsof -i:80 查看端口被那个程序占用 lsof -p pid号 查看引用的文件 netstat -apn|grep 80 ...
- Map泛型集合-输入名字输出成绩
package collection; import java.util.HashMap; import java.util.Map; import java.util.Scanner; import ...
- [给自己扫盲]名词解释——LAMP、MEAN、Web应用框架等
名词解释 LAMP The LAMP software bundle (here additionally with Squid). A high performance and high-avail ...
- linux之ssh命令
ssh命令用于远程登录上Linux主机. 常用格式:ssh [-l login_name] [-p port] [user@]hostname更详细的可以用ssh -h查看. 不指定用户: ssh 1 ...
- [置顶]
kubernetes资源类型--PetSets/StatefulSet
PetSet首次在K8S1.4版本中,在1.5更名为StatefulSet.除了改了名字之外,这一API对象并没有太大变化. 注意:以下内容的验证环境为CentOS7.K8S版本1.5.2,并部署Sk ...
- 如何对POST请求但是URL中也有参数/GET请求但是请求体中也有参数的情况进行安全扫描
通常情况下,GET的参数都在URL中,POST的参数都在请求体中,但是如题的情况也有,像使用方法PUT.DELETE的情况也有,这些情况该如何进行安全扫描呢?
- 【AS3 Coder】任务五:Flash 2D游戏的第二春(上)
在上一节中,我们基本上已经讲完了游戏中最主要的逻辑部分,不过为了更加全面地运用Starling中的一些特性,在本节中我们将一起来看看如何实现多面板切换以及粒子效果,这两个玩意儿可是比较频繁会出现于St ...
- dmz主机就是DNAT功能的体现
端口映射和DMZ是提供内网和外网映射的,具体各自如下:DMZ:就相当于DNAT(Destination NAT),只对目的IP地址做地址转换.也就是说,收到目的IP为自己WAN口的包,统统转发给内网的 ...