# Git流程规范
# 分支结构
分支 | 描述 |
---|---|
master | 主干 |
dev | 开发 |
fir-* | 测试(自动打包) |
bugfix | 修复BUG |
# 分支管理
分支流转示意图
开发完成或BUG修复后提交到
fir分支
经过jenkins
自动打包构建,并上传到fir提供给测试人员安装在生产环境发布完成并验证成功后,应对当前
master
分支设置版本tag
,标准为当前版本编号,内容为当前迭代版本的内容简要内容生产版本中(如. tag 1.0.0)标签中发现BUG,需要在master分支下检出新分支
bugfix
,并重置到标签tag 1.0.0,代码修复后,重新生成新的标签(tag 1.0.1),合并到master后,最后提交新标签到远程仓库;
# Tag Bug修复
# 1. 场景:1.0.0开发完成后,正在全力开发2.0.0版本
# 打tag
git tag -a 1.0.0 -m "1.0.0版本发布"
# 或
git tag 1.0.0
# 推送tag
git push origin 1.0.0
////////////// v2.0.0 代码陆续提交中 ////////////////
git add b.txt
git commit -m "2.0.0 代码第一次提交"
git add c.txt
git commit -m "2.0.0 代码第二次提交"
# 2. 用户发现 tag 1.0.0 中存在Bug,需要及时修复
#查看所有tag
git tag
# 查看tag的版本号,显示信息:commit 8da40fa7a13621af5b8d956157d0efc86cedd673 (tag: 1.0.0)
git show 1.0.0
# 新建分支,并回滚到指定tag版本
git branch bugfix
git checkout bugfix
# 至少拷贝commit的前5位即可,不需要全部
git reset --hard 8da40fa
# 在bugfix分支上修复bug
git add a.txt
git commit -m "修复tag 1.0.0 中的bug"
# 修复完,创建新tag
git tag 1.0.1
# 3. 合并修复完的分支
本地bugfix
合并到master
,并推送到远程仓库
# 切换到主分支
git checkout master
# 合并修改bug的分支
git merge bugfix
# 解决合并时的冲突
# <<<<<<Head到======这个是当前分支,也就是master分支的内容
# 从======到>>>>>>> bugfix分支
# 推送更新master到远程
git push origin master
# 4. 推送标签到远程
# git push命令是不会推送标签,标签必须手动推送到远程仓库
# 推送所有tag
git push origin --tags
# 推送指定tag
git push origin 1.0.1
# 其它命令
大部分在 Git教程 (opens new window) 可以查看
# 删除本地tag
git tag -d 1.0.0
# 删除远程tag
git push origin :refs/tags/1.0.0
# 查看本地tag
git tag
git tag -l
# 查看远程引用名称为origin的所有tag
git ls-remote --tags origin
← 工具集 Jenkins 搭建和脚本 →