分支管理

列举本地分支。下面的 * 是 HEAD 所指向的分支,标识当前工作目录所用的分支。其他分支隐藏在 git 仓库中,通过 git checkout 命令才能访问和修改。

$ git branch
iss53
* master
testing

选项 --merged 显示的分支,已经合并到当前分支,可以被删除。 branch -d 用于删除分支。

$ git branch --merged
iss53
* master

--no-merged 显示还没有被合并的分支

$ git branch --no-merged
testing

分支的工作流程

分支可以分为两种:长期存在的分支,短期使用的主题分支

长期存在的分支

由于 Git 的分支合并的执行成本很低,所以可以定期从一个分支合并变动到另一个分支。常见的模式: master 指向稳定版本,develop 指向开发中尚未稳定的版本,topic 指向服务于单个需求的短期分支。他们的线性表示如下

使用分支来表示更形象

多个长期存在的分支,由于存在维护成本,比较适合大型或复杂的项目。小型项目可以不适用。

主题分支

主题分支,是一个短期分支,用于解决单一特定的问题或需求,适用于任何大小的项目。在以前的版本管理系统中,创建和合并分支的成本很高,但是在  Git 中的分支成本很低,可以每天多次创建、使用、合并以及删除分支。

参考资料

3.3 Git Branching - Branch Management, git-scm

3.4 Git Branching - Branching work flows, git-scm

[git] git 分支管理和工作流程的更多相关文章

  1. Git多人协作工作流程

    前言 之前一直把Git当做个人版本控制的工具使用,现在由于工作需要,需要多人协作维护文档,所以去简单了解了下Git多人协作的工作流程,发现还真的很多讲解的,而且大神也已经讲解得很清楚了,这里就做一个简 ...

  2. Git x SVN 当前工作流程

    git-svn 当前工作流程 @ixenos 2018-12-27 21:37:47 前言:用惯了git,再用svn简直反人类,所以……还是用git-svn过渡一下 (由于远程还没有dev,直接坑爹地 ...

  3. Git 安装配置及工作流程

    在使用Git前我们需要先安装 Git.Git 目前支持 Linux/Unix.Solaris.Mac和 Windows 平台上运行. Git 各平台安装包下载地址为:http://git-scm.co ...

  4. Git代码分支开发工作流程

    本文的工作流程,有一个共同点:都采用"功能驱动式开发"(Feature-driven development,简称FDD). 它指的是,需求是开发的起点,先有需求再有功能分支(fe ...

  5. IDEA 中git的分支管理和使用说明

    1. 为什么要建立分支 git默认的主分支名字为master,一般团队开发时,都不会在master主分支上修改代码,而是建立新分支,测试完毕后,在将分支的代码合并到master主分支上. 2.操作如下 ...

  6. git的工作流程(分支合并)

    git支持很多种工作流程,我们采用的一般是这样,远程创建一个主分支,本地每人创建功能分支,日常工作流程如下: 去自己的工作分支$ git checkout work 工作.... 提交工作分支的修改$ ...

  7. Git 分支管理和冲突解决

    Git 分支管理和冲突解决 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. 当前检出分支的前面会有星号. git branch newname 在当前检出分支上新建分支 ...

  8. Git应用—03分支管理和冲突解决(转载)

    Git 分支管理和冲突解决 https://www.cnblogs.com/mengdd/p/3585038.html 创建分支 git branch 没有参数,显示本地版本库中所有的本地分支名称. ...

  9. Git 工作流程

    Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去.”工作流程”在英语里,叫做”workflow”或者”flow”,原意 ...

随机推荐

  1. 283. Move Zeroes(C++)

    283. Move Zeroes Given an array nums, write a function to move all 0's to the end of it while mainta ...

  2. Java面向对象程序设计--接口和内部类

    1.接口的定义: In the Java programming language, an interface is not a class but          staff[0] =       ...

  3. 将requirejs进行到底(一)

    随着网站功能逐渐丰富,网页中的js也变得越来越复杂和臃肿,原有通过script标签来导入一个个的js文件这种方式已经不能满足现在互联网开发模式,我们需要团队协作.模块复用.单元测试等等一系列复杂的需求 ...

  4. Android Material Design NavigationView 及 Palette 颜色提取器

    DrawerLayout + NavigationView DrawerLayout布局,通常在里面添加两个子控件,程序主界面添加到NavitagionView前面. <android.supp ...

  5. Fizz Buzz

    class Solution { public: /** * param n: As description. * return: A list of strings. */ vector<st ...

  6. 一. 什么是ANR?为什么会有ANR发生?

    对于Android平台的工程师来说,ANR应该是每个人都会遇到的问题,因为导致它的原因有很多,例如在主线程进行耗时操作,调用大量cpu资源进行复杂的预算等,并且可能在大多数情况下,这类问题不会发生,只 ...

  7. GoogleCode新手教程

    GoogleCode页面介绍 Project Home 首先显示的是project home,页面左边的是这个项目的介绍,右边的License是说明使用的是什么开源协议,Labels是标签的意思,就是 ...

  8. jQuery 获取父元素、子元素、同级元素

    详情:http://www.w3school.com.cn/jquery/jquery_traversing_ancestors.asp   parent() 方法返回被选元素的直接父元素.(常用) ...

  9. Xcode 插件开发

    我最近一年来都在开发ios应用,不过感觉公司的app维护起来非常麻烦. 因为公司要为很多个企业订做app,每个app的功能基本相同,只是界面上的一些图片和文字要换掉,功能也有一些小改动.考虑到代码维护 ...

  10. vim自动补全

    Vim 中使用 OmniComplete 为 C/C++ 自动补全 OmniComplete 并不是插件的名字,而是 Vim 众多补全方式中的一种(全能补全).说白了 OmniComplete 其实就 ...