小团队适用的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


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

查看所有标签

猜你喜欢:

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

注意力商人

注意力商人

吳修銘 / 黃庭敏 / 天下雜誌 / 2018-4-2 / NT$650

電子郵件,免費!照片分享,無上限! 你是否想過,隨手可得的免費內容、便利的免費服務,到底都是誰在付費? 如果商品免費,那你就不是消費者,而是商品! 你我可能都不知不覺地把自己賣給了注意力商人! 「『媒體轉型、網路演化與資訊浪潮」此一主題最具洞見的作者。』──黃哲斌(資深媒體人) 「這是少有的關注產業發展的傳播史,對現在或未來的『注意力產業』」中人來說,不可不讀。」──......一起来看看 《注意力商人》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具