Gitflow:合并发行版错误修复程序以从master开发

jrcvhitl  于 2022-11-20  发布在  Git
关注(0)|答案(4)|浏览(115)

我 的 问题 围绕 着 gitflow 流程 中 的 一 个 非常 具体 的 点 ( 如 这里 所 述 ) 。
我 已经 将 release/1.2 中 的 错误 修复 合并 到 master 中 , 并 进行 了 适当 的 标记 。
除了 历史 记录 的 外观 之外 , 从 release/1.2 向后 合并 与 从 master 向后 合并 到 develop 之间 有 什么 区别 ?
我 已经 尝试 了 两 种 方法 , 在 我 的 简单 的 、 人为 的 例子 中 , 我 没有 看到 develop 的 区别 , 正如 我 所 期望 的 。
这样 做 有 危险 吗 ? 我 以后 会 遇到 混乱 的 问题 吗 ? 我 错过 了 一些 明显 的 东西 吗 ? 我 怀疑 答案 可能 与 master 中 的 其他 特性 有关 , 但 这些 特性 目前 应该 不在 develop 中 。

    • 正在 合并 要 开发 的 版本 : * *

    • 正在 合并 中 的 母 版 以 进行 开发 : * *

oyxsuwqo

oyxsuwqo1#

如果你把master合并回你的develop分支,你会在develop分支中得到所有的merge branch release/x.y into master合并提交,而当合并release/x.y分支本身时,你只得到真实的的改变。
当然,这或多或少是一个表面问题,但是合并方向通常只是从developmaster,而不是相反。
没有真实的的危险,除了上述合并提交会使您的develop分支混乱。如果您坚持流程,master中不应该有develop中没有的特性,因为热修复和发布分支应该总是合并到您的developmaster中。

plicqrtu

plicqrtu2#

我怀疑答案可能与master中的其他特性有关,但这些特性目前应该不在develop中。
无论如何,来自master的提交将进入develop,并进行下一个修补程序合并。如果存在真实的的代码更改,则可能会出现意外结果并扭曲主机修补程序内容。
将稳定分支(gitflow中的master)合并到开发分支(gitflow中的develop)在各种git工作流中是已知的方法。Bbitbucket Server(Atlassian正在销售的商业解决方案)有Automatic branch merging的特性。Git项目本身总是将分支maint合并到master,因为有一些bug修复。
所以我真的不明白为什么gitflow的作者选择了另一种方式,可能是没有真正的理由,这只是一个偶然的决定。

0lvr5msh

0lvr5msh3#

这样做有危险吗?我以后会遇到混乱的问题吗?我错过了一些明显的东西吗?
没有危险;没有问题;并且您不会遗漏任何内容。将master合并回develop(恕我直言)稍微好一点的方法,并且没有缺点。无论你选择哪种方式,你最终都会得到develop中相同的合并提交总数。区别只是那些合并提交在那里结束的时间。如果你先将release合并回来,你就不会'不要等到以后才能得到所有的releasemaster合并提交,当你做一个热修复的时候,一次就可以得到所有的合并提交。如果你做master回到develop,你会马上看到最近的合并提交。但是把master合并回到develop还有一个更大的好处:
在任何时候,确保master中的所有更改也在developrelease中(如果存在)都很重要。(它们唯一不同步的时间是在完成releasehotfix分支期间。)确认master是否同步的最简单方法可能是确保提示(top commit)in master总是在develop,或者release,如果它存在的话。你可以很容易地编写脚本,让它以一定的频率运行,并在它不为真的时候通知你。如果你不能期望master的tip commit出现在release,那么这个脚本就更复杂了。

nbnkbykc

nbnkbykc4#

我喜欢这样做,这样在列表视图中看起来就不会像master在develop之前。如果你把master合并到develop而不是release分支和hotfix,那么在列表视图中master永远不会在develop之前,如果是这样,你就知道出了问题,需要修复

相关问题