GitFlow工作流

简介: GitFlow工作流

GitFlow工作流

Vincent Driessen曾经写过一篇博文,题为 A successful Git branching model(一个成功的Git分支模型)。Gitflow工作流程就是从这篇文章里来的。

Gitflow工作流程围绕项目发布定义了严格的分支模型。其特色在于,它为不同的分支分配了非常明确的角色,并且定义了使用场景和用法。除了用于功能开发的分支,它还使用独立的分支进行发布前的准备、记录以及后期维护。

<br/>

在这里插入图片描述

<br/>

分支介绍

分支 作用
master 历史迭代分支
develop 集成最新开发特性的活跃分支
f_xxx feature 功能特性开发分支
b_xxx bug 修复分支
r_xxx release 版本发包分支

<br/>

初步流程

每家公司的 GitFlow 工作流,都不一样。我们采用如上 GitFlow 简单模拟一下

顺便熟悉一下 Git 如何对项目协作开发。

git clone `url`

git checkout origin/dev    # 切换到远程分支

git branch -b dev        # 创建本地分支

git branch --set-upstream-to=origin/dev        # 把本地分支映射到远程分支上

<br/>

每次写代码建分支前都要保证 dev 是最新代码

git checkout dev

git pull

<br/>

最终提交合并请求 merge request

# 新建功能分支,并映射到remote
git checkout -b f_login
# git branch --set-upstream-to=origin/f_login

# 接下就自主开发
git add xxx
git commit -m'xxxx'

git add xxx
git commit -m'xxxx'

# 最后提交到remote
# git push --set-upstream origin f_login
git push

<br/>

删除已开发完毕的功能分支

git checkout dev 

git pull

git branch -d f_login

git branch -dr origin/login

<br/>

又新增开发功能,重复上述步骤

git checkout -b f_register
# git branch --set-upstream-to=origin/f_register

git add xxx
git commit -m'xxxx'

git push

<br/>

冲突解决

方案一

Github 网站上手动解决冲突

<br/>

方案二

# 拉取远程分支
git fetch origin develop

# 让本地当前分支与远程分支进行比较
git branch diff origin/develop 

比较哪里不一样、哪里有冲突,进行修改后重新提交

git add xxx
git commit -m'xxx'

git push

<br/>

方案三

在本地分支同步(拉取)远程分支
git pull origin develop

会发现自动合并不了,检查冲突文件,然后进行修改
修改完成然后在进行提交

git add 冲突文件
git commit -m'xxx'
git push

<br/>

尾语

✍ 用 Code 谱写世界,让生活更有趣。❤️

✍ 万水千山总是情,点赞再走行不行。❤️

✍ 码字不易,还望各位大侠多多支持。❤️

相关文章
|
4月前
|
人工智能 JavaScript Java
平台组成-工作流
平台最早选型工作流引擎几乎没有任何犹豫的选择了JBPM6
|
4月前
工作流介绍
工作流介绍
|
Kubernetes Java Docker
工作流 workflow
工作流:就是一个可以处理复杂情况的状态机。
325 0
|
Serverless
函数工作流
函数工作流自制脑图
126 0
函数工作流
snakerflow工作流实践分享
snakerflow工作流实践分享
257 0
powerjob配置工作流
powerjob工作流内配置依赖关系及判断节点
953 0
powerjob配置工作流
|
存储 弹性计算 监控
浅析数据工作流Prefect
简述 Prefect 是一种新的工作流管理系统,专为现代基础设施而设计,由开源的 Prefect Core 工作流引擎提供支持。 用户只需将任务组织成流程,Prefect 负责其余的工作,可让您非常容易使用数据工作流并添加重试、日志记录、动态映射、缓存、失败通知等语义。
|
运维 Shell 调度