子沉Blog
| About | Tags

Back Git工作流程规范



|

Git工作流程规范

对于git的工作流程,我们选择使用「GitFlow」工作流,我们认为它很高效合理。下面是对此规范的简单介绍与具体使用示例。

一、常用分支

名称 介绍
main 主分支,只能合并,不可以直接更改(除初次提交)
develop 主开发分支,主要用于合并,包含下一个版本的内容
feature 功能开发分支,基于develop分支创建,用于开发新功能,后合并回develop
release 待发布分支,从develop中拉取,进行bug修复后合并到main和develop
hotfix 热修复分支,与待发布分支不同,此分支从main中拉取,直接合并到main和develop

二、使用示例

(一)develop

# 创建并推送develop分支
git branch develop
git push -u origin develop

(二)feature

# 创建并推送feature分支
git checkout -b feature develop
git push -u origin feature
# 完成
# 拉取develop确保是最新
git pull origin develop
git checkout develop
git merge --no-ff feature
# 删除该feature分支(可选)
git branch -d feature

对于feature分支的命名统一采用以下三种格式featurefeature-日期feature-功能-日期

(三)release

# 从develop创建并推送release分支
git checkout -b release develop
git push -u origin release
# 完成
# 合并到main和develop并推送
git checkout main
git merge --no-ff release
git checkout develop
git merge --no-ff release
git push
# 删除该release分支
git branch -d release

release中的每次commit都应当有相应的tag

git tag -a example main
git push --tags

其中example所代表的版本号命名遵循《版本号命名规范》,

(四)hotfix

# 从main创建并推送hotfix分支
git checkout -b hotfix main
# 完成
# 合并到main和develop并推送
git checkout main
git merge --no-ff hotfix
git checkout develop
git merge --no-ff hotfix
git push
# 删除hotfix分支(可选)
git branch -d hotfix
# 为主分支打上版本标签
git tag -a vx.x.x.x main
# 将标签推送到远端仓库
git push --tags

对此作出规范,hotfix分支的命名遵循《版本号命名规范》,格式为hotfix-example,example部分更改均仅更改修订号,而且由于时间跨度未知,所以不写发布日期部分数字。

三、生效范围

对此标准后所有新项目生效,旧项目则按需求更改。