gpt4 book ai didi

git - 当正在 merge 的分支已经 merge 并恢复时,如何强制 merge 提交?

转载 作者:太空狗 更新时间:2023-10-29 13:43:21 29 4
gpt4 key购买 nike

在我们的存储库中,我们遵循基于 git-flow 的工作流程。我们有一个已完成的发布(安装在生产环境中),因此发布分支已 merge 到主分支中。

    B---C---D---E [release/1]
/ \
A---------------F [master]

E - head of the release branch
F - merge of release/1 into master

生产中出现问题,所以将软件移回了之前的版本。我们的部署过程会保留备份,因此这是独立于源代码控制完成的。此时,master 分支与生产中的软件不匹配,因此我们还原了将发布 merge 到 master 的提交。这使 master 的负责人和部署在生产环境中的软件保持同步。

    B---C---D---E
/ \
A---------------F---G [master]

G - revert of release, effectively bring master back to A

发现发行版不是问题所在,因此我们将该软件重新安装到生产环境中。为此,我们在与旧发布分支相同的提交上创建了一个新发布分支。

    B---C---D---E [release/2]
/ \
A---------------F---G [master]

但是,当我们关闭发布分支时,Git 并没有创建 merge 提交,因为发布分支的头部指向 master 历史记录中的一组提交(通过原始 merge )。

    B---C---D---E-------+
/ \ \
A---------------F---G---H

H - merge of release/2 into master (this is what we want!!)

但是,由于还原,该版本中的实际更改现在丢失了。我如何强制 Git 第二次 merge 发布分支的头部?

最佳答案

如您所述,git 不执行 merge ,因为它看到那些提交已经在分支的历史记录中。还原是阻碍。

我以前打过这个。您需要做的是先还原还原。这将删除删除提交的提交。 :-)

git revert G

然后您可能想要重新 merge 只是为了拾取之后发生的任何事情。

关于git - 当正在 merge 的分支已经 merge 并恢复时,如何强制 merge 提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25727670/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com