git flow常用命令
https://danielkummer.github.io/git-flow-cheatsheet/index.zh_CN.html
https://blog.csdn.net/shu580231/article/details/76240611
https://blog.csdn.net/zpcqdkf/article/details/82621893
1.在已经存在的git仓库中添加git flow
git flow init
2.develop分支只有一个,新功能的开发是基于develop创建的feature分支上开发的。
git flow feature start 功能name ---执行之后feature/name 分支就会被建立
新的功能开发完毕之后
git flow feature finish 功能name ---执行之后 该功能分支的内容就会合并到develop分支上,并删除feature/name分支
3.release分支:为了发布而存在的分支,也是基于develop分支建立的-同一时间只能有一个
git flow release start v.1.0 --创建一个release分支
git flow release finish v.1.0 -- 执行之后1.会合并到master develop 分支上,.使用release分支名打tag. .删除release分支
4.hotfix分支 -同一时间只能有一个 --基于master分支建立
git flow hotfix start v.1.0 --创建hotfix分支
git flow hotfix finish v.1.0 --结束hotfix分支 并 删除此分支 并合并到develop master分支上。
git flow是一个git的扩展集。Git flow 可以工作在 OSX, Linux 和 Windows之下。
本文主要列举一些常用的git flow命令。以及git flow从无到有的步骤;
1.安装。
2. 初始化。git flow init 最后就一路回车选择默认的就ok了,,接下来就是使用了
常用命令以及分支:
分支介绍:
1.master。只有一个,并且不会在master上进行代码的操作。
2.develop。只有一个,新特性的开发是基于develop开发的,但是不能直接在develop上进行开发,而是在基于develop上创建feature分支进行新特性的开发。
3.feature。可以同时存在多个,基于develop分支被创建。对于每一个新的功能可以创建一个新的feature分支,开发结束之后,合并到develop分支即可。
创建一个新的feature分支,命令:git flow feature start name 执行之后,feature/name分支就会被创建。
当新特性开发完成过后,需要合并到develop上,命令:git flow feature finish name 执行之后,feature/name分支的内容就会合并到develop,,并且删除feature/name分支。
4.release分支。release分支是为了发布而存在的分支,基于develop分支被创建。在同一时间只能有一个release分支,在此分支上仅仅是较少代码的修复。否则,容易引起release分支不稳定。当release分支被创建之后,develop分支可能在准备另一个版本的,因此,当release分支merge回develop分支时候可能会出现冲突,需要手工解决冲突。
创建一个release分支,命令:git flow release start v.1.0
当完成release分支功能之后,执行命令:git flow release finish v.1.0。这个命令会执行一下的操作:
(1.分支merge回master分支;2.使用release分支名称打tag;3.release分支merge回develop分支;4.删除release分支。)
5.hotfix分支。当发现master分支出现一个需要紧急修复的bug,这个时候就需要使用hotfix。基于master分支被创建。同一时间只有一个hotfix分支,生命周期比较短。
创建hotfix分支。命令:git flow hotfix start v.1.0
结束hotfix分支。命令:git flow hotfix finish v.1.0。会把hotfix分支merge到master和develop分支,并且删除此分支。(⚠️注意,如果bug修复时,存在release分支,那么hotfix会merge到release分支,不是develop了。)
通过下图大致了解一下基本命令:
以下这些是我在使用过程中遇到的一些解决方法:
issue2以及version2都是feature分支,同时间在开发,但是功能并为结束,仅仅进入测试阶段,最后都需要合并到develop上,(这里不合适,不应该在develop上进行开发测试)这个时候,我们可以直接切到develop上,进行 git merge feature/issue2 这里也是可以的,但是最保险并且分支图美观的做法就是现在issue2分支上fetch和rebase,,
命令:git fetch git rebase develop issue2. 直接把目前develop上最新的代码合并到issue2 上,如果有冲突的话可以可以直接在issue2上进行修改,不会影响到develop分支。
---------------------
作者:maybe28
来源:CSDN
原文:https://blog.csdn.net/shu580231/article/details/76240611
版权声明:本文为博主原创文章,转载请附上博文链接!
git flow指南
git flow的基本使用
基本使用见 你为什么不用git flow
开发人员常用的场景
完成常规项目中的功能
git flow feature start 721
使用日常git命令提交修改,直至功能完成
git flow feature finish 721
这个动作会把 feature/721分支合并到dev分支,如果功能完成,可以push到远程dev进行测试
完成单独一个功能并测试
步骤和常规开发相同,但是可以push到远程git库
git flow feature publish 721
测试并修复bug
git flow feature finish 721
紧急修复bug
使用hotfix来紧急修复bug
git flow hotfix start 721
修复bug
git flow hotfix finish 721
这就把修改完成的代码分别merge到了dev和master分支,为之后的发布做准备
代码发布
功能完成度很高的时候才做代码发布
git flow release start v0.1
允许有少量bugfix动作
git flow release finish v0.1
git flow常用命令的更多相关文章
- GIT 版本控制常用命令学习汇总
GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...
- git log 常用命令及技巧
git log常用命令以及技巧 1.git log 如果不带任何参数,它会列出所有历史记录,最近的排在最上方,显示提交对象的哈希值,作者.提交日期.和提交说明.如果记录过多,则按Page Up.Pag ...
- Git基本常用命令
Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...
- Git是什么、Git的功能、为什么versioncontrol用Git、Git的常用命令、Git的优缺点
Git是什么 git是目前世界上最先进的分布式版本控制系统(没有之一). Git是用于 Linux内核开发的版本控制工具.与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版 ...
- Git stash 常用命令
参考: Git: How to look at the stash Git学习笔记05--git stash Git stash 常用命令 1.git stash: 保存当前的工作进度: 2.git ...
- Git 基础 —— 常用命令
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...
- git之常用命令
git之常用命令 1.下载远程仓库最新代码 $ git pull --rebase origin master 2.上传代码 $ git push origin master 3.退出编辑 ESC + ...
- git的常用命令。。
git的常用命令.. git help <command> 显示command的help git show 显示某次提交的内容 git show $id git co -- <f ...
- Git - Git基本常用命令
Git基本常用命令 mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理 ...
随机推荐
- Python实现Linux命令xxd -i功能
目录 Python实现Linux命令xxd -i功能 声明 一. Linux xxd -i功能 二. xxd -i常见用途 三. 类xxd -i功能的Python实现 Python实现Linux命令x ...
- React性能分析利器来了,妈妈再也不用担心我的React应用慢了(转)
Profiler React16.5正式在devtool中加入了Profiler功能,用于收集每次变更导致的渲染时间,帮助开发者发现潜在的性能问题,有助于开发更高性能的React应用 官方博客 如何使 ...
- smarty模板操作变量
smarty模板技术分配变量的细节问题. 从php中获取数据 一句话:可以分配php支持的各种数据类型. php: 基本数据类型 int double string bool ...
- 在浏览器中输入 www.baidu.com 后执行的全部过程
现在假设如果我们在客户端(客户端)浏览器中输入http://www.baidu.com,而baidu.com为要访问的服务器(服务器),下面详细分析客户端为了访问服务器而执行的一系列关于协议的操作: ...
- 一、在windows环境下修改pip镜像源的方法(以python3为例)
在windows环境下修改pip镜像源的方法(以python3为例) 1.在windows文件管理器中,输入 %APPDATA% 2.会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文 ...
- Robot Framework使用For循环
1.普通的For循环 在一个普通的For循环中,循环开始的关键字是 :FOR ,其中的:用于与一般关键字做区分,对于循环结构体内的每一行,使用 \ 作为改行的行首关键字.对于循环中的变量,可以在 IN ...
- 关于mysql远程连接
windows环境下简单,这里讲linux环境下的 首先,linux系统有一道防火墙 我用的是ubutun16.04LTS 要用ufw工具(命令)开启3306端口(ufw allow ) (如果安装的 ...
- python web篇 Django centos 命令版
新建立一个虚拟环境,与其他python 包隔开互不影响 首先新建立一个目录,命名为xx, python3 下操作 $:python -m venv ll_env 注意在有多个Python环境下,使用 ...
- [No000012B]WPF(3/7)有趣的边框和画刷[译]
介绍 边框是每个WPF程序的主要构成块.在我现在的程序中,我使用了很多的边框来装饰界面.从把边框直接放到窗口中到把边框放到控件模板和列表项中,边框在创建一个好的应用界面上扮演了一个非常重要的角色.在这 ...
- Exception 04 : java.lang.ClassNotFoundException: Could not load requested class : org.hsqldb.jdbcDriver
异常详细信息 org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org ...