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的又一大特点.下面我们就来学习 ...
随机推荐
- js属性对象的propertyIsEnumerable方法
定义 每个对象都有一个propertyIsEnumerable()方法.此方法返回一个布尔值,表明指定的属性是否是可枚举. This method can determine whether the ...
- git 仓库中删除历史大文件
git 仓库中删除历史大文件 在git中增加了一个很大的文件,而且被保存在历史提交记录中,每次拉取代码都很大,速度很慢.而且用删除 提交历史记录的方式不是很实际. 以下分几个步骤介绍如何减小.git文 ...
- JMeter关联的几种方式总结案例
1.接口响应结果,通常为HTML.JSON格式的数据,对于HTML的响应结果的提取,可以通过正则表达式,也可以通过XPath 来提取. 2.对于JSON格式的数据,可以通过正则表达式.JSON Ext ...
- 并发编程 futuretask
package com.mrbird.api.demoThread.future; import java.util.concurrent.Callable; import java.util.con ...
- CMD运行命令每次都要进入很麻烦
20:35:52 win+r 输入regedit 进入注册表 找到HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor项 创建AutoRun ...
- 使用spring中4.2.6版本使用@Value取值失败,结果为${xxx}的情况
环境:spring 4.2.6 使用全注解来获取值的时候发生@Value为写好的表达式 简单的代码: 实体类: public class RichMan { @Value(value=" ...
- C#事件委托概念
事件就是一个狭义的委托,也就是事件是一个用于事件驱动模型的专用委托. 通俗的讲,委托你可以在客户代码中直接调用委托来激发委托指向的函数,而事件不可以,事件的触发只能由服务代码自己触发 也就是说在你的代 ...
- 十分钟了解HTTPS
一.为什么要用HTTPS——HTTP协议的缺陷 通信使用明文(不加密),内容可能会被窃听 不能验证通信方的身份,所以请求和响应都有可能是攻击者发送的 数据包在由A到B的过程中,可能经历很多次路由转发, ...
- Linux下Shell重定向
1. 标准输入,标准输出与标准错误输出 Linux下系统打开3个文件,标准输入,标准输出,标准错误输出. 标准输入:从键盘输入数据,即从键盘读入数据. 标准输出:把数据输出到终端上. 标准错误输出:把 ...
- mysql数据库索引调优
一.mysql索引 1.磁盘文件结构 innodb引擎:frm格式文件存储表结构,ibd格式文件存储索引和数据. MyISAM引擎:frm格式文件存储表结构,MYI格式文件存储索引,MYD格式文件存储 ...