gitflow工作流

一、Gitflow工作流流程大致如下:

在这里插入图片描述

master: 主分支, 保留发布版本
Hotfix: 线上版本bug紧急修复
Release: 存放测试版本
dev: 开发分支, 保留所有历史版本
f_功能名称: feature 功能特性分支, 实现功能开发
b_功能名称: bug修复分支, 负责处理线上bug
r_功能名称 :release 发布分支, 负责代码测试,bug修复,分包发布等

二、初始化项目仓库

# 查看分支
git branch 
# 切换分支
git checkout 分支名称
# 创建并且切换分支
git checkout -b 分支名称


# 本地新建仓库
git init
git add .
# 添加到本地仓库
git commit -m 'message'
# 新建本地develop
git checkout -b develop

# 远程创建仓库创建项目将程序员拉到组里面
操作: 在gitlab服务器上在开发组中创建项目(远程仓库)

# 关联本地项目和远程仓库
git remote add origin 远程仓库地址
# 将本地所有的分支推送到远程-同名分支
git push -u origin --all
# 将本地标签推送到远程
git push -u origin --tags

三、开发者-开发功能

# 克隆远程仓库的代码
git clone 远程仓库地址

# 创建develop并且切换到该分支,最后关联到远程的develop
git checkout -b develop origin/develop
# 从develop克隆出功能分支f_detail
git checkout -b f_detail
# 接下来就可以在功能分支上开发代码了。。。
"""
print("在这里写代码")
"""
# 当前的f_detail推送到远程f_detail[自动新建]
git add .
git commit
git push
操作: 发起合并请求

#合并成功后,删除开发分支
git branch -d f_detail   # 删除本地分支
git branch -dr origin/f_detail # 删除远程分支(这步一般无需开发者操作)

四、集中测试和发布阶段

# ==========将r_detail合并到develop分支==============
git checkout -b r_detail
git add .
git commit
git checkout develop
git merge r_detail  # 将r_detail合并到develop分支
git push # 推送
git log # 查看版本号

# ==========将r_detail合并到master分支==============
# 切换到主分支
git checkout master 
# 拉取最新代码
git pull
# 将指定的版本合并到当前[master]分支中
git merge dev
git cherry-pick 版本号  
# 推送
git push
# 打标签
git tag -a 0.1 -m xxx
# 推送所有标签
git push --tags

git branch -d f_detail   # 删除本地分支
git branch -dr origin/f_detail # 删除远程分支