Git-Flow 撤消 finished/merged 修补程序分支

Git-Flow undo a finished/merged hotfix branch

我知道 Stack Overflow 上有很多类似的情况,甚至在整个 Internet 上也是如此。

我找不到适合我的问题的答案。

我的情况:

我做了一个快速的 ASCII 艺术,这样你就可以更好地描绘它。

    A-B———C---D-M     # Dev
     \    /
     X-Y—Z         # Release

这是几天前创建的版本。 在分支 Dev 的 M commit 上,在 Release 之后,我创建了一个新功能,我修改了很多代码,然后我完成了我的功能并合并。

现在想象一下,在提交 N 时,在发布之后,在新功能之后,当功能现在合并到开发中时。 我从我以前的版本 (ASCII Art) 创建了一个修补程序。

此修补程序只是对特定库的更新。

我在更新库后完成了Hotfix,然后将其合并到dev和master。 但它搞砸了我的开发分支,现在我无法继续工作,因为我的开发分支现在已经过时了,带有修补程序修改。

我的问题是如何避免这种情况?

此外,我可以从 Dev 和 Master 中删除此修补程序,以便从我当前的开发分支创建新的发布分支,而不是从旧的 Dev 分支创建修补程序吗?

最后我只是改变了我合并版本的提交。

然后我更新了库,做了一个新版本。

最后回到我的Dev分支,修复之前Hotfix的一些合并冲突。

另一种解决方案是不完成我的功能,保留分支,然后在 Release 上进行 Hotfix,然后完成功能,以便将它合并到 Dev 分支中而不会造成混乱。