10.Git分支-分支管理(git branch命令)、分支开发工作流
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命令)、分支开发工作流的更多相关文章
- Android Studio中使用Git进行代码管理(分支、合并)
打开Android Studio选择,选择从Git检出代码 也可以从VCS如下点击 去远程仓库复制地址,这里以码云Gitee第三方代码托管为例,类似Github的界面,点击右边复制项目地址 填一下配置 ...
- 使用git和github管理自己的项目---基础操作学习[转]
原文: https://segmentfault.com/a/1190000003728094 我是通过看廖雪峰的git教程学习的,真的是极好的,以下是我学习过程中的总结,记录下来,方便自己参考以熟悉 ...
- iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )
一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的 git的起源 作者是Linux之父:Linus Bened ...
- 软工实践练习一——使用Git进行代码管理心得
在github.com的操作 注册 创建Organization 将指定代码库fork到小组Organization下 在Organization下创建repository 这些操作在学校的机房已经完 ...
- git使用,Git的skil-map,git配置http/https/socks5代理
. 检出.克隆库: git clone git://git.openwrt.org/openwrt.git 2. git查看某个文件的修改历史 git log --pretty=oneline 文件名 ...
- git branch 命令查看分支、删除远程分支、本地分支
git branch 命令操作 1.查看本地分支 : git branch 前面带有*号的是当前分支 2 .删除本地分支: git branch -d [branchname] 提示删除了一个名为li ...
- 【转】git branch 命令查看分支、删除远程分支、本地分支
git branch 命令操作 1.查看本地分支 : git branch 前面带有*号的是当前分支 2 .删除本地分支: git branch -d [branchname] 提示删除了一个名为li ...
- git创建与管理远程分支【转】
本文转载自:http://blog.chinaunix.net/uid-9398085-id-3164754.html git创建与管理远程分支 1.远程分支就是本地分支push到服务器上的时候产生的 ...
- Git学习总结(12)——多人开发 Git 分支管理详解
1.前言 在上一篇博客中我们主要讲解了Git 远程仓库,相信大家对远程的Git仓库有一定的了解,嘿嘿.在这一篇博客中我们来在大家讲解一下Git 分支管理,这可以说是Git的又一大特点.下面我们就来学习 ...
随机推荐
- mybatis常用类起别名
在mybatis的配置文件中添加如下配置 <settings> <setting name="cacheEnabled" value="true&quo ...
- java TripleDES加密
package com.zhx.base.util; import org.apache.commons.codec.binary.Base64; import javax.crypto.Cipher ...
- vue 事件修饰符
1.用.stop来阻止冒泡(点击click按钮之后,先执行clickBtn2方法,然后执行clickBtn1方法,.stop命令阻止了clickBtn1方法的执行) 2.使用.prevent命令来阻止 ...
- 向mysql中导入向导时如表xlsx
如果出现这种问题那么是因为没有打开这个文件,如果想导入这个文件需要到开这个文件,然后再导入
- Vue-Router动态路由匹配
//重点在于路由出口 <p> <!-- 使用 router-link 组件来导航. --> <!-- 通过传入 `to` 属性指定链接. --> <!-- & ...
- java实现点击图片文字验证码
https://www.cnblogs.com/shihaiming/p/7657115.html
- 1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串
1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08 Python 代码是以Jupyter Notebook编写的,主要写的是python3的 ...
- Python的使用方法
1 安装turtle Python2安装命令: pip install turtule Python3安装命令: pip3 install turtle 因为turtle库主要是在Python2中使用 ...
- org.apache.http.client.ClientProtocolException: URI does not specify a valid host name
问题截图: 原因:http:// 少了两个//
- MyBatis3系列__02接口式编程
hello world MyBatis3支持面向接口编程: 具体做法如下,将helloWorld中的EmployeeMapper.xml文件进行更改: <?xml version="1 ...