Git Flow 用法

2023-05-16

git flow 工作流程。如下图所示。

master 分支

master 分支主要方稳定、随时可上线的版本。这个分支只能从别的分支上合并过来,一般来讲,从develop 上合并,或者从hotfix分支上合并过来。不能直接在master 分支上进行commit文件。因为是稳定的版本,所以每次版本发布都要在这个分支上添加标签(tag)。

develop 分支

develop 分支是所有开发分支的母体,所有的开发分支都要从develop上切出来,开发完成之后最后都要合并到develop上。     即feature分支都是由develop分支切出来的。  一次只在一个分支中开发。

hotfix 分支

hotfix 分支用来修复生产中的紧急bug,由于develop分支尚处于开发过程中,代码不稳定,不能直接应用于生产。所以从master分支上切出一个分支,修复完成之后合并到master分支,并且合并到develop上。

release 分支 (finish 此版本会在本地创建tag)

release 分支可以称之为预发布的版本。当我们认为develop版本的代码已经趋于成熟,我们可以打一个release分支。在release 分支上测试完成之后,要将代码合并到master分支和develop上。master 分支是线上版本,而合并到develop版本是因为,在测试过程中,一些细节的东西可能会修改,因此这些优化的内容也应该合并到最终版本以及开发版本中。

feature 分支

feature 分支是最经常使用的分支了。当我们收到一个新的开发功能时,应该在develop分支上切出一个feature分支。用来完成新功能的开发,开发完成之后,要合并进develop分支上。

git  flow的开发流程。   

feature分支开发完了---测试通过---合并到develop—合并到master---git  tag release-x.x.x---  (Jenkins) 构建出包。---给QA测试---有bug就从master拉一个hotfix分支---改完bug合并到develop---合并到master---git tag---打包回归测试---合格上线。

上述操作是本地执行的。  包括git  flow 创建的分支。  需要push到git库。    git  push origin  feature/newBranch

合并完develop/master分支也是需要  git  push  origin  develop  将改动推到远程。

ubuntu    apt-get install  git-flow

git  flow  init 初始化   next

git  flow  feature  start   test    本地创建分支 feature/test 并切换、base分支是develop        需要 git push origin feature/test  将分支push到远程。

git  flow  feature  finish  test    本地test分支合并到develop分支。并删除远程&本地的  feature/test分支。     使用后需要将develop 分支push到远程。  git  push origin develop

git  flow  release  start  1.0.0    本地创建分支 release/1.0.0并切换、base分支是develop       需要git  push  origin  release/1.0.0 将分支push到远程。

git  flow  release  finish  1.0.0   本地release/1.0.0分支合并到develop && master    需要将本地develop && master 分支push到远程。   并且会在本地创建一个tag  需要  git  push --tags  将tag 提交到远程。tag名称为 1.0.0

git  flow  hotfix   start  pro_bugfix   本地创建分支hotfix/pro_bugfix  并切换、base分支是master     需要 git push origin hotfix/pro_bugfix  将分支push到远程。

git  flow  hotfix  finish  pro_bugfix   本地hotfix/pro_bugfix 分支合并到develop && master    需要将本地develop && master 分支push到远程。   并且会在本地创建一个tag  需要  git  push --tags  将tag 提交到远程。tag名称为pro_bugfix

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git Flow 用法 的相关文章

  • Git 与人工制品

    刚刚完成 NPM 和 Bower 的 Artifactory 设置 它非常容易使用 您只需更改存储库 URL 一切就正常了 查看有关如何让 Artifactory 与 github vcs 一起使用的文档 它看起来过于复杂 我想知道是否有人
  • 将主分支的提交合并到另一个分支,但不合并两个分支

    我有 git 存储库和一个主分支 我决定开发新功能 并且创建了新分支 new branch 我已经在 new branch 中创建了一些提交 但我还没有完成新功能 我决定修复 master 分支中的一些错误 因此我切换到 master 分支
  • 如何摆脱 gerrit 中的错误依赖关系

    看起来 当使用 gerrit 时 默认情况下所有更改都依赖于前一个更改 我不会分支进行新的更改 我只是在主分支上工作 然后将提交的更改推送到远程源 主分支 即使两次提交彼此无关 每次都会创建依赖关系 我遇到了一些问题 这让我认为我没有正确地
  • 如何在 git 交互式 rebase 中将提交与下一个提交合并?

    git rebase i允许通过以下方式将提交与前一个提交合并squash or fixup 这两个选项都需要至少一次提交pick ed 当一个人想要使用第一个提交但丢弃其提交消息时 情况怎么样 换句话说 如果我希望第一个提交与后续提交合并
  • 如何在Git中手动合并所有文件?

    我想合并所有文件manually有了 meld 或任何其他 diff 工具 我如何使用 Git 来做到这一点 当我跑步时git mergetool它说no files need merging 所以我想只有当我有冲突时我才能做到这一点 有更
  • 如何更改全局 git 设置以在拉取期间进行 git 合并

    目前 我的全局设置设置为在 git pull 期间执行变基操作 我希望它默认将其更改为 git merge 如何更改此设置 TL DR git config global pull rebase false 有点细节 Git 使用配置pul
  • 如何更新我的裸存储库?

    我创建了一个裸存储库来发布我的存储库 但我不知道如何使用主存储库的当前状态更新裸存储库 如果您想复制主存储库中的所有对象 请在主存储库中执行此操作 git push all
  • Eclipse git checkout(又名恢复)

    是否可以做相当于git checkout在 Eclipse 中使用 Egit 插件 我有一个已修改的文件 我想放弃更改并将文件恢复到源存储库中的内容 在 Subversion 中 这称为恢复 在 git 中 相当于 checkout 我在团
  • 自给定提交以来 git 中的作者列表

    我想要一种列出所有 git 作者的方法 仅自给定提交以来 是独特的 这两个很简单 我在网上看到过一些解决方案 大多数使用git log format 但我看到的都不符合附加要求 按提交日期排序 因此 如果约翰 史密斯 John Smith
  • 如何修复 Centos 上的 Git Segmentation 错误

    我收到分段错误错误 无法在服务器上提取代码 Centos 7 这就是我遇到错误的方法 通过使用以下命令来验证我的服务器是否使用 bitbucket 进行身份验证 ssh T email protected cdn cgi l email p
  • 防止在 Git 中签出

    我目前正在研究使用 Git 管理 OpenInsight 应用程序的源代码 由于 OI 代码存储在数据库表中 因此需要进行一定量的手动工作才能将源代码导出为文本 反之亦然 到目前为止 我已经成功地使用 Git 挂钩自动化了很多这项工作 但是
  • 获取 git 存储库中每个文件的提交计数

    我正在寻找一种方法来查看有关 git 存储库中每个文件更改频率的统计信息 基本上 文件提交的频率实际上与以前的版本不同 此外 有没有办法获取文件上次更改的日期 我是一个 git 新手 还没有发现任何关于此的信息 任何帮助将不胜感激 这里有两
  • Visual Studio 2017 - 无法将提交的更改推送到本地存储库

    我在 Win 10 Enterprise 上运行 VS 2017 Enterprise 15 7 3 我的本地硬盘上有一个 git 存储库 我在其中进行了一些更改 现在希望使用 VS 将这些更改 提交并推送 到我们位于网络文件共享之一的中央
  • 本地分支显示在 GitHub 的“网络”视图上

    我们使用 Git 我们的工作流程由 dev 和 master 分支组成 它们位于 GitHub 和每个开发人员的本地存储库上 不会直接在 master 或 dev 上执行任何工作 而是在本地分支中执行工作 并且仅在 dev 上进行合并 然后
  • 如何将 tfvc 迁移到 Git(包括历史记录)

    我们计划从 tfvc 迁移到 Git 版本控制 我们有一些 GB 的代码和数千个变更集 我阅读了一些文章并浏览了 Microsoft 文档 发现了 2 个选项 提示迁移 我可以在其中使用 Azure Devops 内置工具 导入存储库 它有
  • Visual Studio 2017/2019/2022 gitsync/pull/push/fetch 操作卡住,并且无法停止

    我从 Visual Studio 中的 Git Changes 选项卡启动同步 获取 拉取或推送 但操作只是挂起 没有选项可以停止它 我必须点击 X 才能关闭 Visual Studio 如果操作是同步的 它会在其他所有操作上打开一个模式对
  • git 可以忽略特定行吗?

    我在手机的本机浏览器上测试时使用 git 同步到phonegap 因此我有以下行 var isPhoneGap false 显然 我在构建时更改了这一点 但是有什么方法可以设置 git 来忽略这一行 或者我是否必须将其放入自己的文件中并以这
  • 如何使用最近的标签来装饰 git 日志?

    git log decorate将相关引用的信息添加到日志输出中 commit 9e895ace5d82df8929b16f58e9f515f6d54ab82d tag v3 10 rc7 Author Linus Torvalds lt
  • Git 将分支从一个远程推送到另一个远程?

    我设置了以下遥控器 git remote korg rorg 以及以下分支 git branch a no branch remotes korg gingerbread remotes korg gingerbread release r
  • 如何使用 github 托管外部 CSS 文件?

    我将 css 上传到 github 然后转到网站上的文件并单击 raw 选项 我尝试将其添加到网页中 但 chrome 给出以下错误 资源解释为样式表 但使用 MIME 类型 text plain 进行传输 https raw github

随机推荐

  • 【废了-准备删除02】信息收集——基于WAMP的drupal7.x管理系统

    目录 1 概述2 域名 子域名 IP信息收集3 端口扫描3 1 扫描过程3 2 小结 4 网站目录扫描4 1 目的4 2 dirbuster 扫描4 3 御剑后台扫描4 4 小结 5 指纹识别5 1 目的5 2 指纹识别5 3 指纹利用5
  • Spring boot App启动报错 missing ServletWebServerFactory bean

    将一个普通Java App应用改写为Java Web App xff0c 添加了spring boot starter parent之后 xff0c Run as Spring App一致报如下错 org springframework c
  • 开源项目|RT-Thread 软件包应用作品:水墨屏桌面台历

    简介 平时经常会有一些事情忘记 xff0c 比如今天几号 xff0c 星期几 xff0c 哪天有什么事情要做 有时候写在本子上 xff0c 有时候记在微信里 xff0c 但有时候连记在哪里都忘记了 为了应对这个情况 xff0c 我制作了一款
  • 【嵌入式AI入门日记】将 AI 模型移植到 RT-Thread 上(1)

    本期我们分享主题是如何将 AI 模型部署到嵌入式系统中 xff0c 下一期将介绍如何在 RT Thread 操作系统上运行 Mnist Demo xff08 手写数字识别 xff09 嵌入式关联 AI AI落地一直是一个很红火的前景和朝阳行
  • uc/os-ii任务调度的锁定与解锁

    调度器上锁函数OSSchedlock 的功能是用于禁止任务调度 xff0c 使任务保持对CPU的控制权 调度器开锁函数OSSchedUnlock 的功能是解除对任务调度的禁止 调度器上锁和开锁的实现原理是 xff1a 对全局变量锁定嵌套计数
  • uc/os-ii信号量集

    在实际应用中 xff0c 任务常常需要与多个事件同步 xff0c 即要根据多个信号量组合作用的结果来决定任务的运行方式 C OS II为了实现多个信号量组合的功能定义了一种特殊的数据结构 信号量集 信号量集所能管理的信号量都是一些二值信号
  • 【OK6410裸机程序】点亮LED

    globl start start 硬件相关的设置 Peri port setup ldr r0 61 0x70000000 orr r0 r0 0x13 mcr p15 0 r0 c15 c2 4 64 256M 0x70000000 0
  • 通过串口实现printf和scanf函数

    转自 草根老师博客 xff08 程姚根 xff09 在做裸板开发时 xff0c 常常需要通过输出或者通过串口输入一些信息 在有操作系统机器上 xff0c 我们很少关心输入和输出的问题 因为有很多现成的库函数供我们调用 在做裸板开发时 xff
  • DDR协议解析

    DRAM内部分割成多个L Bank xff0c 每个L Bank形状相同 xff0c 彼此独立 xff0c 可以独立工作 早期的DRAM芯片内部分为2个L Bank xff0c 后来是4个 xff0c DDR3内存芯片为8个 在进行寻址时需
  • apt-get安装指定版本&查询版本

    一 通过apt get安装指定版本 apt get install lt lt package name gt gt 61 lt lt version gt gt 二 查询指定软件有多少个版本 说明 xff1a 在Linux用这个查询并不能
  • 使用apt-get install时有时候一堆依赖要安装,一个一个安装特别烦人,可以直接用suggest全部安装,具体命令如下

    使用apt get install时有时候一堆依赖要安装 xff0c 一个一个安装特别烦人 xff0c 可以直接用suggest全部安装 xff0c 具体命令如下 apt get install install suggests packa
  • linux-Centos 7下tftp-server服务的安装与配置

    转自 http www cnblogs com 5201351 p 4934625 html TFTP xff08 Trivial File Transfer Protocol 简单文件传输协议 xff09 是TCP IP协议族中的一个用来
  • Linux启动打印信息

    U Boot 1 1 6 Oct 5 2016 16 45 02 for SMDK6410 u boot 1 1 6 Updated for OK6410 TE6410 Board Version 2012 09 23 OEM Forlin
  • 对比S3C6410外部中断STM32外部中断

    转自 xff1a http comm chinaaet com adi blogdetail aspx id 61 40071 amp currentpage 61 2 a S3C6410外部中断 中断在嵌入式里面是很常见的一个功能了 通过
  • shell脚本记录

    1 find name o 找出当前目录下所有的 o文件 使用在makefile中如下 clean rm f liblog so 96 find name o 96
  • makefile中的patsubst

    1 wildcard 扩展通配符 2 notdir xff1a 去除路径 3 patsubst xff1a 替换通配符 例子 xff1a 建立一个测试目录 xff0c 在测试目录下建立一个名为sub的子目录 mkdir test cd te
  • ElasticSearch学习&&理解

    注 xff1a 本篇的es基于7 5 1版本 目录 Elasticsearch是什么 xff1f ElasticSearch的环境搭建 ElasticSearch的名词 ElasticSearch查询出的数据格式 ElasticSearch
  • Kibana学习&理解

    注 xff1a 本篇的kibana基于7 5 1版本 Kibana是什么 xff1f kibana是一个数据可视化平台 展示与分析 将es里面的东西通过各种图表展示出来 xff0c 还可以执行es的各种搜索 amp 监控 Kibana环境搭
  • filebeat学习

    注 xff1a 本篇基于filebeat7 5 2 filebeat是什么 xff1f Filebeat 是用于转发和集中日志数据的轻量级传送程序 作为服务器上的代理安装 xff0c Filebeat 监视您指定的日志文件或位置 xff0c
  • Git Flow 用法

    git flow 工作流程 如下图所示 master 分支 master 分支主要方稳定 随时可上线的版本 这个分支只能从别的分支上合并过来 xff0c 一般来讲 xff0c 从develop 上合并 xff0c 或者从hotfix分支上合