1.分支管理

   git branch 不仅可以创建和删除分支,还可以做一些其他工作。

 1.不带参数的 git branch ,得到本地仓库当前的分支列表。并且会显示,当期所在的分支,也就是HEAD所指向的分支。

 2. git branch -v 查看每一个分支上的最后一次commit。

 3. git branch --merged 查看已经合并到当前分支的所有分支。注意:已经合并的分支可以使用 git branch -d <branchname> 删除掉。

 4. git branch --no-merged 查看没有合并到当前分支的分支。

 5. git branch -D 强制删除某个分支,会丢失被删除的分支上面的所有内容。

2.分支开发工作流

  常用的分支开发的工作流程有2种:

 1.长期分支

  在整个项目开发周期中,你可以拥有多个开放的分支,你可以定期的将某些特性分支合并到其他分支中。

  长期分支是许多开发者经常使用的。比如只在master上保留完全稳定的代码--有可能仅仅只是已经发布或者即将发布的代码,还有一些名为develop或者next的分支,别用来进行相关的开发工作,这些分支不保证稳定性,一旦经过测试,达到稳定状态之后,就可以将这些分支合并进master中,等待下一次发布。

  通常使用流水线的方式来理解长期分支更加容易。如下图所示。master是主流水线,稳定,一般是已经发布的代码。

develop和topic是正在进行开发测试的流水线,一旦这些分支达到稳定状态,就将被合并到master中,等待下一次的发布。

 2.特性分支

  特性分支是一种短期分支,它被用来实现单一特性或其相关工作,其实也就是频繁的创建、切换分支来进行开发工作。

例子:如下图所示。你在master上工作到了C1,这时候为了解决一个问题,创建了新的分支iss91,然后在iss91上工作到了C4,这时候对于这个问题又有了新的想法,于是你又新建了iss91v2,来尝试新的想法,并且工作到了C11,接着你回到的master,工作到了C10,你又对前面的问题有了新的想法,于是你又可以创建dumbidea分支,并且做了一些实验,工作到了C13。这时候你的分支情况如下图所示。

  你在测试以及讨论之后,决定采用iss91v2的方案以及dumpidea,这时候,你就可以删除iss91,并且将iss91v2和dumbidea合并到master中,合并完成之后,你的分支情况如下图所示。

  在上面的例子中,针对你的每一个想法,你都可以随时的创建分支,然后去实现,做一些commit操作,最终选定合适的解决方案之后,可以删除不需要的分支,并且将需要的分支合并到master中。

注意:虽然你在频繁的创建和切换分支,但是对于Git来说,其开销是非常小的,效率很高。而且创建于合并分支的操作仅仅只是发生在本地Git版本库中,并没有于服务器发生交互。 

10.Git分支-分支管理(git branch命令)、分支开发工作流的更多相关文章

  1. Android Studio中使用Git进行代码管理(分支、合并)

    打开Android Studio选择,选择从Git检出代码 也可以从VCS如下点击 去远程仓库复制地址,这里以码云Gitee第三方代码托管为例,类似Github的界面,点击右边复制项目地址 填一下配置 ...

  2. 使用git和github管理自己的项目---基础操作学习[转]

    原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...

  3. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  4. 软工实践练习一——使用Git进行代码管理心得

    在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...

  5. git使用,Git的skil-map,git配置http/https/socks5代理

    . 检出.克隆库: git clone git://git.openwrt.org/openwrt.git 2. git查看某个文件的修改历史 git log --pretty=oneline 文件名 ...

  6. git branch 命令查看分支、删除远程分支、本地分支

    git branch 命令操作 1.查看本地分支 : git branch 前面带有*号的是当前分支 2 .删除本地分支: git branch -d [branchname] 提示删除了一个名为li ...

  7. 【转】git branch 命令查看分支、删除远程分支、本地分支

    git branch 命令操作 1.查看本地分支 : git branch 前面带有*号的是当前分支 2 .删除本地分支: git branch -d [branchname] 提示删除了一个名为li ...

  8. git创建与管理远程分支【转】

    本文转载自:http://blog.chinaunix.net/uid-9398085-id-3164754.html git创建与管理远程分支 1.远程分支就是本地分支push到服务器上的时候产生的 ...

  9. Git学习总结(12)——多人开发 Git 分支管理详解

    1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对远程的Git仓库有一定的了解,嘿嘿.在这一篇博客中我们来在大家讲解一下Git 分支管理,这可以说是Git的又一大特点.下面我们就来学习 ...

随机推荐

  1. 白话大数据 | Spark和Hadoop到底谁更厉害?

    要想搞清楚spark跟Hadoop到底谁更厉害,首先得明白spark到底是什么鬼. 经过之前的介绍大家应该非常了解什么是Hadoop了(不了解的点击这里:白话大数据 | hadoop究竟是什么鬼),简 ...

  2. 对JS 的classList 简单记录

    一 对classList整体感觉 浏览器支持参考(http://www.runoob.com/jsref/prop-element-classlist.html) classList 是一个对象 ,返 ...

  3. python基础day1

    一.python介绍 1.1简介 Python  (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum ...

  4. mysql 分库分表转

    分表是分散数据库压力的好方法. 分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库. 当然,首先要知道什么情况下,才需要分表.个人觉得单表记录条数达到百万到千万 ...

  5. 最短路径---dijkstra算法模板

    dijkstra算法模板 http://acm.hdu.edu.cn/showproblem.php?pid=1874 #include<stdio.h> #include<stri ...

  6. <玩转Django2.0>读书笔记:URL规则和视图

    1. 带变量的URL #urls.py from django.urls import path from .view import * urlpatterns = [ path('',index_v ...

  7. PBRT笔记(11)——光源

    自发光灯光 至今为止,人们发明了很多光源,现在被广泛使用的有: 白炽灯的钨丝很小.电流通过灯丝时,使得灯丝升温,从而使灯丝发出电磁波,其波长的分布取决于灯丝的温度.但大部分能量都被转化为热能而不是光能 ...

  8. FCC学习笔记(二)

    Nest an Anchor Element within a Paragraph 作为参考,再次看一看a元素的图示: 例如: <p>Here's a <a href="h ...

  9. Android中ListView的简单使用

    动态添加单行列表: 首先前提是你的布局文件里有一个ListView 单行列表的添加只需要一个list集合即可,使用ArrayAdapter数组适配器绑定更新就行了 首先声明一个ArrayAdapter ...

  10. 如何查找MySQL中查询慢的SQL语句(转载)

    转载自https://www.cnblogs.com/qmfsun/p/4844472.html 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那 ...