git flow常用命令

摘要:
Gitflow可以工作在OSX,Linux和Windows之下。本文主要列举一些常用的gitflow命令。gitflowinit最后就一路回车选择默认的就ok了,,接下来就是使用了常用命令以及分支:分支介绍:1.master。当新特性开发完成过后,需要合并到develop上,命令:gitflowfeaturefinishname执行之后,feature/name分支的内容就会合并到develop,,并且删除feature/name分支。命令:gitflowhotfixstartv.1.0结束hotfix分支。(注意,如果bug修复时,存在release分支,那么hotfix会merge到release分支,不是develop了。

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 分支上,2.使用release分支名打tag. 3.删除release分支 

4.hotfix分支 -同一时间只能有一个 --基于master分支建立

git flow hotfix start v.1.0 --创建hotfix分支
git flow hotfix finish v.1.0 --结束hotfix分支 并 删除此分支 并合并到develop master分支上。
git flow init 会初始化本地五个分支名称:dev,master,feature,release,hotfix,除dev外,其他直接回车
1、一般开发,创建feature(从本地dev分支拷贝一份创建feature)
开发完finish feature,代码会合并回本地dev,执行git push,push代码到远程dev
2、在dev或feature上测试完成要发沙箱,finish feature合并代码到dev,然后创建release(从本地dev分支拷贝一份创建release),发布到沙箱测试,沙箱测试完成,finish release,合并代码到master和dev。发布master到生产。
3、紧急修复bug或者dev有其他人在使用,发布会出现冲突,则创建hotfix分支开发(从本地master拷贝一份创建hotfix)
修改完后finish ,代码会同时合并到本地master和dev,执行git push,push代码到远程dev和master,发布master到生产
不管在哪个分支,记得经常git pull。创建分支前,把自己本地的dev和master分支先pull一下,保证代码最新,再创建相应的分支。


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常用命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[HNOI2002]跳蚤 【容斥】iOS开发:第一个iOS程序分析——AppDelegate.h文件和视图View、视图控制器ViewController下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

eclipse中git更新操作

1,本地已经修改的代码不要commit和push 2,选中工程,右击Team,然后点击Fetch from Upstream,从远程服务器拉取最新的代码 3,上一步操作完成,再右击工程,选中Team,然后点击Synchronize Workspace,确认跟远程服务器代码是否一致,如果冲突就解决冲突,如果没有冲突就进入下一步。图标样式如图,才算解决冲突。...

实现MySQL数据库同步实例演示(主从模式) 新风宇宙

 本次实验的主要目的是剖析配置MySQL(和PHP搭配之最佳组合) 数据库的主辅MySQL数据库同步的实际操作步骤,我前两天在相关网站看见的资料,觉得挺好,就拿出来供大家分享,开始具体的配置。   本次试验的MySQL(和PHP搭配之最佳组合)版本都是 4.1.7-standard-log , master 端的操作系统是 redhat 9.0 , sla...

容器跨主机网络通信学习笔记(以Flannel为例)

我们知道在Docker的默认配置下,不同宿主机上的容器通过 IP 地址进行互相访问是根本做不到的。 而正是为了解决这个容器“跨主通信”的问题,社区里才出现了很多的容器网络方案。 要理解容器“跨主通信”的原理,就一定要先从 Flannel 这个项目说起。 Flannel 项目是 CoreOS 公司主推的容器网络方案。事实上,Flannel 项目本身只是一个框...

程序员必须知道的几个Git代码托管平台

一、VS2013中克隆远程Git仓库和SSH的配置 1、VS2013中克隆远程项目 首先感谢园友的评论和补充,今日又仔细看了一下,VS2013中是可以克隆项目的,只是我一直用的GitHub来克隆的,所以没有注意到。我们打开VS2013,切换到团队资源管理器,如图: 点击连接到团队项目...,会看到如下图界面: 点击克隆,输入远程Git地址,然后点击克隆...

查看linux硬盘使用率

df -h df命令是Linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为:  文件系统 容量 已用 可用 已用% 挂载点  filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 4...

git管理多个github账号

网上有几个教程,感觉都不完善,自己做个备用。 git管理多个github账户的关键在于config配置和本地使用方式: 1、config的作用为指明每个github账号在本地的别名,内容如下: 如图,个人账号是默认的。工作账号将host命名成了work.github.com 2、本地使用时要将 ssh:git@github.com:teayork/tes...