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. Django:ORM介绍

    1.ORM概念 ​ 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. ​ 简单的说,ORM是通过使用描述 ...

  2. [TensorFlow]Windows下安装并运行Hello World

    参考网址:https://www.tensorflow.org/install/pip (或要VPN) 建议电脑是独显N卡机,安装前先升级驱动,减少不必要错误 1.下载Microsoft Visual ...

  3. CDN详解

    一.定义 背景: 当下的互联网应用都包含大量的静态内容,但静态内容以及一些准动态内容又是最耗费带宽的,特别是针对全国甚至全世界的大型网站,如果这些请求都指向主站的服务器的话,不仅是主站服务器受不了,单 ...

  4. Github的fork进行同步

    最近项目要求每个开发人员都有自己fork,需要在自己的fork下进行开发.这样就涉及的到fork和原仓库的同步问题. 在网上查找到fork和原仓库同步的方法,如下转载自网上查找的内容,使用终端命令行进 ...

  5. keil5工程移植到IAR工程

    keil5工程移植到IAR工程 一. 软件版本 MDK-ARM Professional  Version: 5.14.0.0 IAR 8.1 移植工程:基于正点原子开发板建立的STM32F407ZG ...

  6. [LeetCode]1252. Cells with Odd Values in a Matrix

    Given n and m which are the dimensions of a matrix initialized by zeros and given an array indices w ...

  7. linux 非root用户安装nginx

    第一步:首先下载依赖包 下载地址 pcre(www.pcre.org),zlib(www.zlib.org),openssl(www.openssl.org) 第二步:上传那个nginx的安装包 下载 ...

  8. Red Hat Enterprise Linux 8正式发布

    现在CENTOS 8还没有发布. 了解其主要特点. https://developers.redhat.com/blog/2019/05/07/red-hat-enterprise-linux-8-n ...

  9. Route all trafic for specific ip over specific network interface

    15 I have a linux server that needs to get some routing. I'm fairly new at this and i don't find any ...

  10. 浏览器缓存控制 以及 在url框中回车、F5 和 Ctrl + F5的区别

    第一部分: 浏览器缓存如何控制?   做网站,不知道缓存是什么东西怎么能行! 如何实现HTTP缓存呢? 下面我们来一步一步的探寻实现机制把. 方案一: 无缓存   说明:浏览器向服务器请求资源m.pn ...