github - 是否可以将修补程序分支合并到 Github 中的开发分支和主分支?

标签 github pull-request git-flow

我现在使用 gitflow 策略和 github 作为远程存储库。

最近我遇到了将修补程序 PR 合并到开发分支和主分支中的问题。

Github 似乎只支持 PR 的一个目标分支,并且不知道该分支是功能分支还是修补程序分支。

目前,我只是关闭PR并将它们合并到本地并推送到远程。

是否有人有好主意或 github 功能,我可以使用它来将修补程序分支同时合并到开发分支和主分支?

提前致谢。

最佳答案

请注意,一个 PR = 一次合并。您只需要两个单独的 PR,一个将 hotfix 合并到 main 中,另一个将 hotfix 合并到 develop 中。关于代码审查,最好是 Git Flow Hotfix branch也是一个 protected 分支,它本身需要进行代码审查。例如:

  1. 当您意识到需要修补程序时,您可以从 main 创建一个分支,例如 hotfix-1.2.3 (或 hotfix/1.2.3 )。保护分支,以便 PR 需要合并到其中,就像 developmain 一样。
  2. 使用普通 PR 将功能分支与修补程序提交合并到 hotfix 分支中。
  3. 测试hotfix分支。
  4. 部署修补程序,并将hotfix 合并到maindevelop 中。这两个合并是“Git Flow”合并,可以自动化并绕过 PR 流程。或者您可以为这两个合并再创建 2 个 PR。请注意,这 2 个 PR 不需要像步骤 #2 中的 PR 那样定期进行代码审查。由于这些 PR可以自动化,因此如果您需要人工批准,他们可能只需进行快速健全性检查以确保合并正确。

关于:

Currently, I just close PR and merge them in local and push it to the remote.

这样做会起作用,并且与步骤 #4 中描述的自动执行 2 次合并是一样的。如果您走这条路,我建议您编写脚本,以便它可重复且不易出错。请注意,当出现合并冲突时,无论如何都需要手动干预。

提示:使用 Git Flow 时,我个人在完成 releasehotfix 分支时的偏好是首先将它们合并到 main,然后将 main 合并到 develop 中(而不是将发布或修补程序分支也合并到 develop 中)。这样做在功能上是等效的,只不过 main 上进行的合并提交会立即转到 develop,而不是与下一个 hotfix 一起进行。这种方式稍微干净一些,这也意味着 develop 和/或您的 release 分支始终与 main 完全保持同步,在两个 < em>状态和提交。 (按照 Git Flow 记录的方式进行操作只会使状态保持最新。)

关于github - 是否可以将修补程序分支合并到 Github 中的开发分支和主分支?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76214596/

相关文章:

python-3.x - 使用requirements.txt从github安装python包

git - 将我所有的提交压缩为 GitHub pull 请求

Eclipse EGit |分支差异

git - zsh 过分热心地尝试将功能更正为功能

git - 在 merge 之前是否需要 checkout 并 pull 远程 git 分支?

eclipse - JIRA 中的 Git-Flow 和按问题分支工作流程可以协同工作吗?

git - 如何使用带有 git 命令的 travis merge 到另一个分支?

git 推送错误 : HTTP request failed: The requested URL returned 504

merge - 合并两个已经在请求请求中的提交

Github "Pull request"关闭问题不起作用