主要包括以下几个关键词:
- Features
- Make a release
- Hotfixes
About
✨git-flow是一个用来进行高级repo操作的git 扩展集合,它是Vincent Driessen分支模型的一种实现。
关键词:branch 模型
Basic tips
✨Git flow提供了非常好的命令行和输出,可以认真阅读去思考到底发生了什么...
✨OSX和Windows客户端Sourcetree是一个实现了git-flow的非常好用的git客户端。
✨Git-flow是以一个合并解决方案。(merge based solution)
✨GIt-flow不会重新设置功能分支。
关键词:Sourcetree 分支合并方案 branch不可重置
补充:webstorm下的git-flow插件叫做Git Flow Integration
Setup
✨OSX $ brew install git-flow-avh
✨Linux $ apt-get install git-flow
✨Windows $ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash
Getting started
✨Git flow需要初始化,这样repo才会引入git-flow分支模型。
✨在git repo目录下初始化,git flow init
✨输入git flow init之后,需要按照对方的stdout回答一些问题,问题回答完后,git-flow就初始化好了
Features
✨为新版本开发新特性
✨仅仅存在developers repo
✨从branch分支开始写新feature
-
开发新特性
git flow feature start MYFEATURE
✨上面的命令基于develop创建一个新的feature分支;切换到新feature分支
-
结束开发特性
git flow feature finish MYFEATURE
✨上面命令会执行以下操作,合并MYFEATURE到develop;删除特性分支;切换到develop分支
-
发布一个新特性
git flow feature publish MYFEATURE
-
获得一个已发布的特性
git flow feature pull origin MYFEATURE
✨上面命令可以获得其他用户发布的新feature
追踪一个使用中的特性
git flow feature track MYFEATURE
Make a ralease
✨支持发布预生产
✨允许微小bug修复并且为release准备meta-data
- 开发一个版本
git flow release start RELEASE [BASE]
✨从develop分支创建出一个release分支
✨可以选择性的提交一个sha-1哈希值标识新版本。
✨提交必须在'develop'分支。
git flow release publish RELEASE
✨创建后允许其他开发者提交需要发布release brach。
使用命令追踪一个远程release
git flow release track RELEASE
-
完成一个release
git flow release finish RELEASE
完成一个release的发布需要经历以下几步
✨合并release分支到master分支
✨为release打tag
✨隐式地合并release分支到develop分支
✨删除release分支
✨推送tags:git push --tags
Hotfixes
✨Hotfix是为了快速解决线上版本的bug而存在的
✨可能从标记生产环境版本的tag中分离出单独的分支。
-
开始git flow hotfix
git flow hotfix start VERSION [BASENAME]
✨VERSION参数标记了hotfix的版本名称。
✨可选地我们可以指定一个basename。
-
完成一个hotfix
git flow hotfix finish VERSION
✨完成一个hotfix后,它会合并回develop分支和master分支。master分支上会打上hotfix的版本号。
Commands
Backlog
✨'support'特性还在实验中,可以根据建议方式使用
参考资料:https://danielkummer.github.io/git-flow-cheatsheet/index.html
期待和大家交流,共同进步,欢迎大家加入我创建的与前端开发密切相关的技术讨论小组:
- SegmentFault技术圈:ES新规范语法糖
- SegmentFault专栏:趁你还年轻,做个优秀的前端工程师
- 知乎专栏:趁你还年轻,做个优秀的前端工程师
- Github博客: 趁你还年轻233的个人博客
- 前端开发QQ群:660634678
微信公众号: 人兽鬼 / excellent_developers
努力成为优秀前端工程师!