内容简介:git checkout develop // 切换到develop分支git pull // 与远程分支同步develop
主流程
涉及分支
- master分支:主干分支,用于发布到生成环境,master分支上的commit源自于release分支和hotfix分支的合并,每个commit都应该有相应的tag。
- develop分支:主开发分支,feature分支和release分支都是基于该分支进行,所有开发经过code review后都会应用到该分支。
- feature分支:开发新功能使用的分支,它从develop分支切出,并最终将会合并到develop分支。feature分支的命名规范为:feature-YYYYMMDD-特性(以下划线分割),例:feature-20180701-xxx
- release分支:发布分支,当完成某个里程碑的开发时,需要发布版本。这是从develop分支切出release分支,进行发布。针对发布后接收到的反馈,在该release分支进行bugfix,当该分支稳定时,分别合并到master和develop分支,之后删除该release分支。release分支的命名规范为:release-版本号,例:release-1.0.0
- hotfix分支:针对线上版本进行bugfix,然后分别合并到master和develop分支,hotfix分支的命名规范为:hotfix-bug, 例:hotfix-table_height_fix
Git flow流程
开发新分支
建立新分支 - feature分支
git checkout develop // 切换到develop分支
git pull // 与远程分支同步develop
git checkout -b feature-20180701-xxx// 建立新分支,进行开发
将新分支推到远程
git checkout develop // 切换到develop分支
git pull // 与远程分支同步develop
git checkout feature-20180701-xxxx // 切换到你的开发分支
git rebase develop // 基于最新的develop分支进行代码合并,解决冲突
git push origin feature-20180701-xxx // 将你的分支推向远程
pull request
去gitlab发起一个针对develop分支的pull request
需了解:
- git rebase vs git merge ?
- 代码冲突如何解决 ?
- 如何发起一个pull request?
发布
建立release分支
git checkout develop // 切换到develop分支
git pull // 与远程分支同步develop
git checkout -b release-1.0.0 // 建立release分支
git push origin release-1.0.0 // 推向远程
基于Release分支进行bugfix
git checkout release-1.0.0 // 切换到release分支
git pull // 与远程同步release
git checkout -b release-1.0.0_bugfix // 基于release分支建立bugfix分支,进行开发
git push origin release-1.0.0_bugfix // 推向远程
pull request
去gitlab发起一个针对release分支的pull request
将release分支分别合并到master和develop,对master分支进行打tag
git branch -D release-1.0.0 // 删除该release分支
线上bugfix
同上,hotfix是基于master的。
将hotfix分别合并到master和develop,对master分支进行打tag
其他常见git操作
- 将n个commit合成一个commit,git rebase -i HEAD~n
- 将某个分支的某个commit放到另外一个分支上,git cherry-pick commitID
- 重命名commit,git commit --amend
工具
- bash-git-promot - An informative and fancy bash prompt for Git users
- source-tree - git client
Reference
- a successful git branching model: https://nvie.com/posts/a-succ...
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 前端数据模型Model,适用于多人团队协作的开发模式
- Golang适用的DTO工具
- 创业公司的经济适用架构师
- Node.js特点和适用场景
- MySQL主流存储引擎及适用场景
- 适用于所有人的领域驱动设计
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
500 Lines or Less
Amy Brown、Michael DiBernardo / 2016-6-28 / USD 35.00
This book provides you with the chance to study how 26 experienced programmers think when they are building something new. The programs you will read about in this book were all written from scratch t......一起来看看 《500 Lines or Less》 这本书的介绍吧!