小团队适用的git-workflow

栏目: 编程工具 · 发布时间: 5年前

内容简介:git checkout develop // 切换到develop分支git pull // 与远程分支同步develop

主流程

小团队适用的git-workflow

涉及分支

  • 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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

500 Lines or Less

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》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器