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的又一大特点.下面我们就来学习 ...
随机推荐
- android---EditText的多行输入框
<EditText android:id="@+id/edt_order_note_text" android:layout_width="match_parent ...
- pypi pack and upload
upload 403 error need to change the name in setup.py upload 400 error need to change the version of ...
- 使用云服务器实现Google搜索
>>>>>>>>>>>>>>>>>>>>>>>>> ...
- 对接携程供应商php加密解密类
php加密解密类 <?php class Aes{ private $key = '6b4d63211b4ba869'; private $iv = 'dbbf079b95004f65'; pu ...
- java精确计算、精确计算工具类
java精确计算 package org.aisino.erp.webservice.dzfp.util; import java.math.BigDecimal; public class Math ...
- selenium操作浏览器的前进和后退
前进关键字:driver.forward() 后退关键字:driver.back() 测试对象:1.https://www.baidu.com/ 2.https://www.sogou.com/ 实例 ...
- 《团队作业》五小福团队--UNO的博客链接汇总
<团队作业>五小福团队--UNO的博客链接汇总 <团队作业第一周>五小福团队作业--UNO <团队作业第二周>五小福团队作业--UNO <团队作业第三.第四周 ...
- leetcode刷题四<寻找两个有序数组的中位数>
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2. 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)). 你可以假设 nums1 和 nums2 ...
- 微信跳转ticket值怎么得到?浏览器跳到微信?哪里有微信跳转接口?跳转功能能用多久?
目前很多实用微信跳转技术的电商朋友,网站文章头部或者文章中部出现了点击关注微信关注的二维码,用户点击进去直接跳转到微信内打开指定的二维码,识别即可关注,方便省事,比以往的一键复制—粘贴微信号,转化效果 ...
- 【安全性测试】drozer中关于AttackSurface的一些理解
在推荐扫描Android APP的工具中,扫描组件可以推荐drozer.使用过drozer的使用者知道,如何查找各个组件上的攻击层面 run app.package.AttackSurface . 它 ...