如何使用git flow操作命令?

教程帖子 2019年12月04日 阅读 225 豆浆大叔
目前git早已经是程序猿团队项目开发必不可少的工具了,尤其是在一线大公司里面,团队合作人员较多情况下。刚开始使用的是git命令来操作,后面有了TortoisegitSourceTree两个工具,基本上都是工具来操作。最近呢,突然不知道为啥脑子抽筋了一样,想用git客户端来耍,可能是处于最近看黑客技术导致的。怎无奈发现git命令忘记了好多,所以就整理下关于git flow的使用。

git flow简介

Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架。同时它也提倡使用 feature branches 模式来开发各个相互独立的功能,同时分成不同的分支以便进行集成和发布。

介绍开发中的各个分支的含义

  • master分支是非常重要的核心分支,主要存储正式发布程序代码版本,一般不直接提交代码到master分支(除了小公司只有master分支或者自己本地耍或者github耍着玩的)。主要用作保持对应线上运行代码的code base
  • develop分支为主开发分支,一般不直接提交代码
  • feature分支为新功能分支,feature分支都是基于develop分支创建的,开发完成后会合并到develop分支上。同时存在多个feature分支,如下图:

  • release分支基于最新develop分支创建,当新功能足够发布一个新版本(或者接近新版本发布的截止日期),从develop分支创建一个release分支作为新版本的起点,用于测试,所有的测试bug在这个分支改。测试完成后合并到master并打上版本号,同时也合并到develop,更新最新开发分支。(一旦打了release分支之后不要从develop分支上合并新的改动到release分支),同一时间只有1个,生命周期很短,只是为了发布。如下图:

  • hotfix分支基于master分支创建,对线上版本的bug进行修复,完成后直接合并到master分支和develop分支,如果当前还有新功能release分支,也同步到release分支上。同一时间只有1个,生命周期较短。如下图:

查看git flow是否安装OK

我们这里使用的都是git客户端

SourceTree客户端

最近在使用的Git Flow常用命令

git flow init:初始化一个现有的git库,将会设置一些初始的参数,如分支前缀名等,建议用默认值。
git flow feature start [featureBranchName]: 创建一个基于'develop'的feature分支,并切换到这个分支之下。
git flow feature finish [featureBranchName]: 完成开发新特性, 合并 MYFEATURE 分支到 'develop', 删除这个新特性分支, 切换回 'develop' 分支。
git flow feature publish [featureBranchName]:发布新特性分支到远程服务器,也可以使用git的push命令
git flow feature pull origin [featureBranchName]:取得其它用户发布的新特性分支,并签出远程的变更。
git flow feature track [featureBranchName]:跟踪在origin上的feature分支。

git flow release start [releaseBranchName]:开始准备release版本,从 'develop' 分支开始创建一个 release 分支。
git flow release publish [releaseBranchName]:创建 release 分支之后立即发布允许其它用户向这个 release 分支提交内容。
git flow release track [releaseBranchName]:签出 release 版本的远程变更。
git flow release finish [releaseBranchName]:归并 release 分支到 'master' 分支,用 release 分支名打 Tag,归并 release 分支到 'develop',移除 release 分支。

git flow hotfix start [hotfixBranchName]:开始 git flow 紧急修复,从master上建立hotfix分支。
git flow hotfix finish [hotfixBranchName]:结束 git flow 紧急修复,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。

(完结)

豆浆大叔 豆浆大叔 资深PHP工程师@某一线大厂

写了 264486 字,被 3 人关注,共写了 75 篇笔记

(已更名,豆浆大叔)有理想的码农,不应该只探究人性的懒惰面,而是积极的去探索人生道路上的荆棘坎坷,努力提升自己完善自己!
推荐文章:
表情
  • [:821l1001:]
  • [:821l1002:]
  • [:821l1003:]
  • [:821l1004:]
  • [:821l1005:]
  • [:821l1006:]
  • [:821l1007:]
  • [:821l1008:]
  • [:821l1009:]
  • [:821l1010:]
  • [:821l1011:]
  • [:821l1012:]
  • [:821l1013:]
  • [:821l1014:]
  • [:821l1015:]
  • [:821l1016:]
  • [:821l1017:]
  • [:821l1018:]
  • [:821l1019:]
  • [:821l1020:]
  • [:821l1021:]
  • [:821l1022:]
  • [:821l1023:]
  • [:821l1024:]
  • [:821l1025:]
  • [:821l1026:]
  • [:821l1027:]
  • [:821l1028:]
  • [:821l1029:]
  • [:821l1030:]
  • [:821l1031:]
  • [:821l1032:]
  • [:821l1033:]
  • [:821l1034:]
  • [:821l1035:]
  • [:821l1036:]
  • [:821l1037:]
  • [:821l1038:]
  • [:821l1039:]
  • [:821l1040:]
  • [:821l1041:]
  • [:821l1042:]
  • [:821l1043:]
  • [:821l1044:]
  • [:821l1045:]
  • [:821l1046:]
  • [:821l1047:]
  • [:821l1048:]
  • [:821l1049:]
  • [:anger:]
  • [:applause:]
  • [:awkward:]
  • [:brokenheart:]
  • [:clown:]
  • [:confused:]
  • [:decline:]
  • [:diggingmouth:]
  • [:eyebrows:]
  • [:grinning:]
  • [:haha:]
  • [:ill:]
  • [:kiss:]
  • [:lascivious:]
  • [:laugh:]
  • [:love:]
  • [:lovely:]
  • [:rhinorrhea:]
  • [:smile:]
  • [:solid:]
  • [:strong:]
  • [:sweat:]
  • [:tearcollapse:]
  • [:tongue:]
  • [:uncomfortable:]
  • [:weak:]
  • [:worry:]
Tips:支持Markdown语法

0 个评论

抢座沙发~~~~
资深PHP工程师 @ 某一线大厂

登录

第三方账号登录:
GitHub
微信
微博