1. 概念

  在SVN中,分支并不是很便于使用。但是在Git中,分支就变成了特别好用的功能呢,受到大多数使用者的青睐。

  分支中有几个概念:

    (1) 分支:分支就是每一次提交创建的点连接成的线。

    (2) master分支:版本库创建后,会生成一个默认的分支,这个分支叫主分支,也叫master分支,所有的分支都围绕这根分支做扩展。

    (3) 子分支:在master分支的基础上创建的分支,子分支的发展与主分支独立。

    (4) 指针:每一根分支中都会有一个指向这个分支的指针,这个指针指向了当前版本库中使用的提交版本,也就是指向分支线上指定的点。master分支就有一个master指针,其他分支的指针类似。

    (5) HEAD指针:指向当前版本库使用的分支指针。

2. 添加点

  

  在主分支的每一次提交就会使HEAD和master往前移动一次。

3. 添加分支

  

  添加分支实际上对工作区没有任何变化,只是在版本库记录中添加了一个新的指针指向了分支的一个点。

  因为只是创建分支,所以HEAD指针还是指向master分支指针。

  添加分支的方法:

    右击工作区空白处,在TortoiseGit中选择"创建分支"。

    

    填写分支名,选择从何处创建子分支,填写描述信息,最后点击确定就可以创建一个新的子分支。

4. 切换分支

  

  切换分支,实际上是切换提交点的位置,也切换了工作区中的文件。如果再次提交则会在新的分支上增加新的记录,而原本的分支则不受影响。

  

  切换分支操作:

    右击工作区空白位置,在TortoiseGit中选择"切换/检出"。

    选择合适的分支后,点击确定,即可切换分支。

    

    可以使用右击工作区空白处,在TortoiseGit中选择"版本分支图",查看当前所有的分支情况。红色的是正在使用的分支,最下面的英文字串是每一个点的散列值,来确定唯一的点。

    

5. 合并分支

  

  当子分支需要完成的进度结束后,便可以将子分支合并到主分支上,也就是将两个分支合的内容并在主分支上形成一个新的点(记录)。注意:要合并到哪个分支上,就先切换到那个分支上,如图,要把sub合并到master上,就要先切换到master分支,然后进行合并操作。

  子分支的指针停留在合并前的最后一个点上,如果还想继续在子分支上进行开发,还可以切换到子分支上继续开发,择机合并。

  

  合并的操作:

    右击工作区空白位置,在TortoiseGit中选择"合并"。

    选择要被合并的分支,点击确定,即可合并。

    

6. 删除分支

  

  删除分支仅仅是将分支指针删除,并没有删除掉所有的文件,通过散列值还可以恢复分支。

  注意:恢复分支操作较为复杂,删除操作务必谨慎操作。

  删除分支操作:

    右击工作区空白位置,在TortoiseGit中选择"浏览引用"。

    右击需要删除的分支,点击"删除分支",提示是否删除分支,点击"是",即可删除分支。

Git的使用(4) —— 分支的概念和使用的更多相关文章

  1. 11.Git分支-远程跟踪分支的概念、多个远程仓库的使用

    1.远程跟踪分支的概念 远程引用是对远程仓库的引用,包括分支.标签等等. 1.可以通过 git ls-remote <remote> 来获得远程引用的完整列表  2.git remote ...

  2. git分支合并概念

    git merge命令用于合并指定分支到当前分支. git merge命令用于合并指定分支到当前分支. git merge命令用于合并指定分支到当前分支. 创建与合并分支 阅读: 931277 在版本 ...

  3. ###Git 基础图解、分支图解、全面教程、常用命令###

    一.Git 基础图解 转自:http://www.cnblogs.com/yaozhongxiao/p/3811130.html Git 图解剖析 git中文件内容并没有真正存储在索引(.git/in ...

  4. [Git]05 如何使用分支

     作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发 ...

  5. git 入门教程之分支管理

    背景 什么是分支?简单地说,分支就是两个相对独立的时间线,正常情况下,独立的时间线永远不会有交集,彼此不知道对方的存在,只有特定情况下,两条时间线才会相遇,因为相遇,所以相知,因为相知,所以改变! 正 ...

  6. [Git01]Pro Git 第三章 分支 读书笔记

    [git]分支   Git 的分支模型称为“必杀技特性”,而正是因为它,将 Git 从版本控制系统家族里区分出来. Git 有何特别之处呢?Git 的分支可谓是难以置信的轻量级,它的新建操作几乎可以在 ...

  7. Git详解之分支使用

    前言 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本 ...

  8. VS2013中使用git发布解决方案master分支的时候出现错误

    VS2013GIT基础用法请自行参考:不会Git命令,照样玩转Git 环境:VS2013+ 码云错误描述:在VS2013中使用git发布解决方案master分支的时候出现“无法将本地分支 master ...

  9. git学习4:分支管理

    每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就 ...

随机推荐

  1. 那些年伴我一起成长的SAP装备

    今天这篇文章无关技术,我们来聊聊SAP装备,即打上了SAP logo的那些物品. 但凡在SAP圈子工作过一段时间的从业者们,手上或多或少都拥有一些此类装备.Jerry当然也不例外,这些装备无论物品本身 ...

  2. Xen虚拟化技术详解---第四章----申请超级调用

    内核驱动程序privcmd负责将位于GuestOS用户空间的超级调用请求传递到GuestOS内核中,与Linux系统的内核驱动程序相同,该操作要在系统调用ioctl()的帮助下完成. 1.关于ioct ...

  3. Python_模块的定义与使用

    1.模块的定义: 1.1 标准格式: import 模块名 模块名.函数名(实参列表) 1.2 特殊格式: from 模块名 import 函数名1,函数名2... 函数名(实参列表) 2.模块的使用 ...

  4. Python_Day2_共享你的代码

    一.编写简单的函数,保存一下. # coding=utf-8 """ 这是“nester.py”模块,提供了一个名为print_lol的函数,这个函数的作用是打印列表,其 ...

  5. substr()用法

    知识点链接:http://www.cplusplus.com/reference/string/string/substr/ 注意: std::string str2 = str.substr (po ...

  6. MySQL复制介绍及搭建

    MySQL复制介绍 MySQL复制就是一台MySQL服务器(slave)从另一台MySQL服务器(master)进行日志的复制然后再解析日志并应用到自身,类似Oracle中的Data Guard. M ...

  7. 完成一个springboot项目的完整总结------三

    这一次的总结是最关键的部分,主要涉及了ORM的三种操作,这些操作是项目的难点,三种操作包括多对一.多对多.一对多三种模式,接下来展示项目代码 1.多对一 clazz表对应grade表和charge表 ...

  8. Linux系统 安装JDK和tomcat

    下载文件路径包: http://archive.apache.org/dist/ 首先将软件包上传到/tmp目录下 需要文件如下 jdk-8u60-linux-x64.gz apache-tomcat ...

  9. Coins in a Line

    Description There are n coins in a line. Two players take turns to take one or two coins from right ...

  10. 【转载】Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration info

    网上查到http://social.msdn.microsoft.com/Forums/vstudio/en-US/58271e39-beca-49ac-90f9-e116fa3dd3c0/mxed- ...