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. 分支的好处 同时并行推进多个功能开发,提高开发效率 各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任 ...
随机推荐
- Codeforces Round #369 (Div. 2) A. Bus to Udayland【字符串/二维字符数组求连起来的座位并改为其他字符】
A. Bus to Udayland time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- 分层图【p2939】[USACO09FEB]改造路Revamping Trails
Description 约翰一共有N)个牧场.由M条布满尘埃的小径连接.小径可 以双向通行.每天早上约翰从牧场1出发到牧场N去给奶牛检查身体. 通过每条小径都需要消耗一定的时间.约翰打算升级其中K条小 ...
- sort equal 确保记录按照 input顺序来
Usually you have a requirement of removing the duplicate records from a file using SORT with the opt ...
- JSON 中的 key
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.它基于JavaScript(Standard ECMA-262 ...
- [COCI2015]TRAKTOR
题目大意: 一个$X\times Y(X,Y\leq10^5)$的格子中,每秒钟依次$n(n\leq10^6)$个蘑菇, 告诉你每个蘑菇出现的时间和位置,问何时第一次出现$k(2\leq k\leq ...
- ASIHTTPRequest框架使用总结系列之阿堂教程2(同步请求)
从本篇开始,阿堂结合一些具体代码来说明.在ASIHTTPRequest框架中,与http请求相关的类有ASIHTTPRequest 和 ASIFormDataRequest,其中最常用的是 ASIH ...
- 【POI】导出excel文件,不生成中间文件,直接将内存中的数据创建对象下载到浏览器
不是从InputStream中read,然后outputStream再write @RequestMapping("download4Excel") public void dow ...
- MailKit---如何知道文件夹下有多少封未读邮件
如果在mailkit中,文件夹已经选中并打开了的话,那直接使用ImapFolder.Unread属性就可以获取到有多少封未读邮件了. 如果文件夹没有打开,那么你还可以使用查询状态的方法来获取未读状态的 ...
- kubernetes1.5.2--部署node-problem-detector服务
本文基于kubernetes 1.5.2版本编写 node经常会遇到以下问题: 硬件问题: cpu 内存 磁盘 内核问题: 内核死锁, 文件系统损坏 容器问题: 守护进程无响应 K8S集群管理对nod ...
- [置顶]
kubernetes--Init Container
概念 Init Container就是做初始化工作的容器.可以有一个或多个,如果有多个,这些 Init Container 按照定义的顺序依次执行,只有所有的InitContainer 执行完后,主容 ...