如何将bug修复分支合并到主干和发布分支

2024-04-16

考虑以下情况:

  • 开发主要在trunk中完成。
  • 修复复杂的错误或开发新的(一开始不稳定)功能时使用分支。
    通常,一旦开发完成,这些分支就会合并到主干中。
  • 1 分支用作当前版本分支(当前为“R-1.0”)。
  • 标签用于发布(将是“R-1.0.0”)。

现在必须修复 trunk 以及当前版本 1.0.0 中的一个复杂错误:

  1. 将创建来自主干的分支“BG-1”。
  2. 该错误将在此分支中修复。
    与此同时,主干的开发将继续进行。

现在如何将分支重新集成到主干和“R-1.0”中?

  • 将 trunk 合并到“BG1”,然后将“BG1”重新集成到 trunk,然后集成到“R-1.0”。
    =>这不可能是解决方案,因为这样“R-1.0”将接收自 1.0 版本以来在主干中开发的所有内容,这不是目标。
  • 尝试将“BG1”重新集成到主干中,然后重新集成到“R-1.0”中,而不合并主干。
    =>这也无法工作,因为不属于版本 1.0 的其他更改已经是“BG1”分支的一部分。

这个问题有什么解决办法吗?
我看到的唯一解决方案是首先从“R-1.0”而不是主干启动“BG1”。如果是这样,这是否意味着对于每个错误修复分支,开发人员必须找到包含此发布分支中的错误和分支的最旧的受支持版本?

Update:
在主干中进行所有开发的做法源于“Jim T”的回答 https://stackoverflow.com/questions/570071/subversion-branch-trunk-best-practice-keeping-branch-up-to-date/570598#570598这是我非常喜欢的一个概念。


我建议将主干合并到 BG1,然后将 BG1 重新集成到主干。然后,您可以将一系列修订合并到 R-1.0。将 BG1 重新集成到主干的提交应该只包含错误修复,因此您可以将其合并到 R-1.0。或者您可以将修复 bug 的特定提交合并到 BG1。

根据自 R-1.0 以来主干的更改程度,您可能必须在提交之前手动编辑 R-1.0,以使更改应用于旧代码。这就是维护旧版本的本质。

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

如何将bug修复分支合并到主干和发布分支 的相关文章

  • PHP 按值合并数组以获得 2 个不同的数组值

    我尝试将两个不同的数组合并为一个数组 有人可以帮我吗 我有这样的数组 0 Array 2 rank 579 id 1 1 Array 4 rank 251 id 2 0 Array 2 size S rank 251 1 Array 15
  • git 存储库中的提交次数

    我的一个为期 5 个月的项目即将结束 作为毫无意义的统计数据的粉丝 我想知道自存储库启动以来已经进行了多少次提交 我怎样才能发现这一点 Notes 我知道没有one存储库 我只对本地版本感兴趣 这在颠覆中是微不足道的 因为修订标识符 似乎是
  • 通过 Git/SVN 将前缀 ? 添加到代码中

    怎么加前缀 v VersionNumber使用 Git SVN 高效地访问存储库中的每个文件 我发现 SO 使用这种做法为其存储库中的每个特定文件提供版本号 他们使用SVN 我想知道如何使用 Git 做同样的事情 举几个例子 1 2 在你的
  • Subversion 中的忽略文件会从 svn:ignore 属性中删除旧值

    我有一个 Subversion 工作副本G csmdepot 构建其中有不同的文件 有些被忽略 有些则没有 我忽略了 Tortoise 的文件 Build 1 wimignored Build 2 wimignored WimID xml
  • 贾瓦尔 (JNI) 不可用

    Windows 7 64 位 Eclipse Indigo SlickSVN 1 6 17 均已安装 并带有在 Windows 中输入的库的路径 为什么我收到消息 JAVAHL JNI Not available 以及为什么 Eclipse
  • 我的机器上的 svn.exe 在哪里?

    I have 乌龟svn安装在我的桌面上 我想使用执行一些任务命令行svn exe 但我找不到svn exe在我的机器上 我们是否需要安装其他东西才能获得svn exe命令 subversion 程序代码链接到 TortoiseSVN 二进
  • 将 git 与 svn 一起使用的好习惯

    Subversion 几年前就很流行 现在 git 也开始流行 越来越多的人想用 git 取代 Subversion 问题是很多项目都是基于 Subversion 的 所以问题是如何将 git 与 Subversion 一起使用 不要完全取
  • 当必须同时使用 Git 和 Subversion 时如何处理 Git-svn

    Update 更详细地说 我尝试在家使用纯 Git 的原因是 我的公司希望迁移到 Git 但经理不愿意进行更改 因为开发人员不了解我们自己的存储库上的 Git 所以 我尝试做的是 我尝试让每个人都使用 Pure git 同时有人可以在这个学
  • 无法加载文件或程序集“SharpSvn”或其依赖项之一。尝试加载格式不正确的程序

    我刚刚在这里下载了 64 位版本的 SharpSVNthe link http sharpsvn open collab net files documents 180 5570 SSvn 1 7002 1998 x64 zip 当我运行我
  • R模糊字符串匹配根据匹配的字符串返回特定列

    我有两个大型数据集 一个大约有 50 万条记录 另一个大约有 7 万条记录 这些数据集有地址 我想匹配较小数据集中的任何地址是否存在于大数据集中 正如您所想象的那样 地址可以用不同的方式和不同的情况 拼写等来书写 此外 如果只写到建筑物级别
  • 与 data.table 合并时防止重复列

    我有两个数据表 它们的列名部分相似 dfA lt read table text A B C D E F G iso year matchcode 1 0 1 1 1 0 1 0 NLD 2010 NLD2010 2 1 0 0 0 1 0
  • TortoiseSVN 不允许我添加任何文件

    我正在尝试使用 TortoiseSVN 1 8 1 将文件添加到 SVN 存储库 我右键单击这些文件并选择 TortoiseSVN gt Add 然后 我选择弹出窗口中的所有文件 然后单击 确定 单击 确定 后 会弹出另一个对话框 所有文件
  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • git分支和标签如何存储在磁盘中?

    我最近检查了我工作中的一个 git 存储库 其中有 10 000 多个分支和 30000 多个标签 新克隆后 存储库的总大小为 12Gigs 我确信没有理由拥有 10000 个分支机构 所以我相信它们会占用磁盘中相当大的空间 所以 我的问题
  • Subversion 将未修改的文件标记为已修改

    这是我在使用 Subversion 时遇到的一个奇怪的问题 当从开发分支合并到主干 或返回 时 Subversion 会将许多文件标记为已更改 而它们没有任何更改 发生的情况如下 在我的分支中 我提交了 1 个修改过的文件 在主干中我合并了
  • Git - 推送到远程存储库中的远程跟踪分支

    当简单地做git push到远程存储库 其master分支得到更新 对于非裸存储库来说 这是不希望出现的情况 最近的 Git 版本显示的警告消息清楚地表明了这一点 我希望能够推送到远程存储库 并拥有其之一远程追踪分支进行更新 稍后 当我登录
  • 无法提交到 svn - 访问被拒绝

    我正在使用 SVN 开发一个小项目 我查看了该项目 svn co http mylocalserver projectx 我进行了更改 更新并添加了文件 svn add file1 php file2 php 但是 每次我想使用此命令提交更
  • 如何查看提交修订后所做的更改并解析它以获取评论?

    我希望自动化一些与 SubVersion 相关的任务 所以我使用了 SharpSvn 不幸的是我找不到太多的文档 我希望能够在用户提交新修订后查看更改 以便我可以解析代码以获取特殊注释 然后将其上传到我的票证系统中 如果您只想浏览 Shar
  • git subtree pull -P 不管 总是合并冲突

    问题 即使我没有进行任何更改 每次尝试拉入子树时 我都会遇到合并冲突 我在做什么 In 子树仓库 Make some changes git commit am Changes made git push origin master In
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什

随机推荐

  • Mac OS X:尝试链接(ld)到框架

    我正在阅读 Mark 和 Aaron 所著的 高级 Mac OS X 编程 我无法让一个终端语句正常工作 cc g o useadd F Adder build framework 加法器 useadd m 它位于第 45 页 第 3 章
  • Angular2 - 多个依赖的顺序 http api 调用

    我正在构建一个 Angular2 应用程序 其中一个组件需要进行多个 API 调用 这些调用依赖于之前的调用 我目前有一项服务可以调用 API 来获取电视节目列表 对于每个节目 我需要多次调用不同的 API 来逐步检查该结构 以确定该节目是
  • 在rocker/shiny docker中部署shiny应用程序

    嗯 我是新来的Docker我需要在 Docker 容器中实现一个闪亮的应用程序 我有来自的图像https hub docker com r rocker shiny https hub docker com r rocker shiny 包
  • 操作链接到同一页面

    我需要创建一个 html 操作链接 相当于 a href Test Link a 或当前页面的操作链接 有人有例子吗 你可以尝试用这个 a href Url Action null Test Link a 帮手Url Action第一个参数
  • SQL 查询 C# 的 In 子句中的多个 ID [已关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我基本上想在 sql 查询的 In 子句中使用多个 iD 现在我有两个选择 一个是从文本框中获取逗号分隔的 ID 或者我可以放置一个列表视图
  • MySQL临时表是共享资源吗?

    我有一个使用临时表的 MySQL 存储过程 假设我的表名称是 temp 我用它来存储一些中间数据 它将在程序开始时创建 并在程序结束时删除 CREATE PROCEDURE p BEGIN CREATE TEMPORARY TABLE te
  • 堆中的 siftUp 和 siftDown 操作用于堆化数组

    假设 MAX HEAPIFY 操作 其中父元素值大于其子元素值 siftDown 将太小的节点与其最大的子节点交换 从而将其向下移动 直到它至少与两个节点一样大 在它下面 siftUp 将太大的节点与其父节点交换 从而移动 直到它不大于它上
  • 如何在 android O 的系统设置中对通知渠道进行排序

    我有预设的通知渠道顺序 可以更改 如何更改通知渠道的顺序 我尝试按channel id和channel name排序 但不起作用 我的解决方案有错误 我尝试在频道 ID 的开头添加频道数以进行排序 所以我有这个 56 server chan
  • 在iOS中,使用故事板,如何在容器视图内设置视图控制器?

    我在主故事板中创建并绘制了一个名为 AutocompleteVC 的自定义 UIViewController AutocompleteVC 将用于几个不同的地方 故事板和不同的维度 例如 在我的 Transit 故事板中 如下所示 有一个名
  • 浮点数的哈希函数

    我目前正在 C 中实现一个哈希表 并且正在尝试为浮点数创建一个哈希函数 我本来打算通过填充小数来将浮点数视为整数 但后来我意识到我可能会用大数字来溢出 有没有好的方法来散列浮点数 您不必直接给我该功能 但我想看到 理解不同的概念 Notes
  • 在 SQL*Plus 中将字符集设置为 UTF-8

    我有一个 SQL 脚本 其中包含以下语句 insert into employee fname lname values J rg M ller 我的数据库字符集设置为 AL32UTF8 但是当我在 SQL 中执行脚本时另外 德语字母 和
  • ggplot2,在 x 对数刻度上引入中断

    我有一个这样的情节 p lt ggplot geom line data myData aes x myData x y myData y scale x log10 scale y log10 我的x值是seq 9880000 12220
  • 如何使用 jQuery 获取 attr?

    div class item p img src images photos sample1 jpg border 0 p p Dining Area p div div class item p img src images photos
  • boost.python公开返回向量的函数

    我正在用 C 编写 Python 扩展模块 并且使用 boost python 我想公开一个返回a的函数vector
  • 如何根据值检查复选框?

    我返回一个 JSON 数据结构 我将其拆分并填充数组 如下所示 var arrayValues data contents split arrayValues 1 3 4 如何根据数组值检查相应的复选框 我的 HTML 看起来像这样 div
  • UILabel + touchDown

    UILabel可以实现touchdown吗 UILabel是一个子类UIView 它本身是一个子类UIResponder 因此 制作一个响应触摸的标签绝对是可能的 只需创建一个新的子类UILabel并实施以下方法 touchesBegan
  • EventHandler:这段代码发生了什么?

    此代码为名为的事件添加注册新的 EventHandler s NewMail eventargs 类被命名为NewMailEventArgs A PUBLIC add xxx method xxx is the event name All
  • 通过 HTTP 端点触发时,带有 enqueueTimeUtc 参数的 ServiceBusTrigger 失败

    我正在使用 Visual Studio 2017 在本地 Azure Functions v1 中开发服务总线触发器 我想测试example https learn microsoft com en us azure azure funct
  • 从两个 UUID 生成复合 UUID

    如果我有两个 UUID 是否有一种 安全 方法来生成第三个复合 UUID 这是对 独特 这个词的一些统计定义 所以我正在寻找下面的函数 f UUID generatedUUID f UUID a UUID b XOR 根据您从何处获取两个
  • 如何将bug修复分支合并到主干和发布分支

    考虑以下情况 开发主要在trunk中完成 修复复杂的错误或开发新的 一开始不稳定 功能时使用分支 通常 一旦开发完成 这些分支就会合并到主干中 1 分支用作当前版本分支 当前为 R 1 0 标签用于发布 将是 R 1 0 0 现在必须修复