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的又一大特点.下面我们就来学习 ...
随机推荐
- Docker使用Mysql镜像命令
本次使用的环境是win10下的hyper-v安装的CentOS7系统 控制台输入命令: docker run -p 3307:3306 --name mysql01 -v $PWD/conf:/etc ...
- Tencent Cloud 腾讯云上部署 EMR Cluster + Kafka + Confluent (Schema-Registry)
腾讯云上有些操作比起 Amazon AWS 还是很方便的, 尤其部署EMR Cluster,下面详细介绍步骤:
- Java类是如何默认继承Object的
前言 学过Java的人都知道,Object是所有类的父类.但是你有没有这样的疑问,我并没有写extends Object,它是怎么默认继承Object的呢? 那么今天我们就来看看像Java这种依赖于虚 ...
- meta标签整合
<title>名称</title>(便于搜索) <meta name="keywords" content="内容"> ke ...
- 1062 Text Reverse
http://acm.hdu.edu.cn/showproblem.php?pid=1062 思路: 最主要的是通过getline函数存取字符串. 如何读取单个单词,并且反向输出? 用\n作为单个单词 ...
- 常用jq代码
1. 只允许输入数字,且禁止输入法 <html> <head> <script type='text/javascript' src='../../js/jquery.m ...
- JDBC连接Oracle错误ORA-00922: 选项缺失或无效
以下错误: ORA-00922: 选项缺失或无效 ORA-00922: missing or invalid option 是由于: execute(sql)语句多了个分号 ; 你没看错!!! 在sq ...
- go http
先看一个简单的 tcp 连接: // server ln, err := net.Listen("tcp", ":8000") if err != nil {} ...
- 编程菜鸟的日记-《软件测试》Ron Patton著-读书笔记
第一部分 软件测试综述 第一章 软件测试的背景 1.软件测试员的目标:尽可能早地找到软件缺陷,并确保其能得以修复. 2.仅仅测试程序是否按预期方式运行有何问题:程序能完好的跑通并不代表软件不存在缺陷, ...
- python学习:输入设置
输入设置 输入用户名和密码 代码: _user = "alex"_password = "abc123" username = input("User ...