小团队适用的git-workflow

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

失控的真相

失控的真相

[美] 迈克尔·帕特里克·林奇 / 赵亚男 / 中信出版社 / 2017-6 / 42.00元

编辑推荐 在信息泛滥的时代,知识变得无处不在。鼠标轻轻一点,我们就坐拥一座巨型图书馆。然而,我们并没有因此就离真相更近。相反,互联网的普及使人们早已习惯于凡事问搜索引擎,并形成了一种“搜索即相信”的认知模式。当社交网络把数字人类带入一个个彼此隔绝的线上群体中,我们清楚地看到,真相与谎言在互联网中交织,知识与观念混为一谈,情绪宣泄掩盖了事实分析。联网的世界让我们更容易看到彼此的观点,但同时也制......一起来看看 《失控的真相》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具