警告:我对git和GitHub都很新。
因此,在我目前的设置中,我的团队使用git flow Hotfixes(通常由GitKraken或IntelliJ等图形工具启动和完成)进行必须合并为两个分支的更改,并在两个分支中向上推送。例如,流程将是:
我们现在正在考虑将代码移入GitHub,并希望开始使用Pull Requests,原因如下:
但是对于Hotfixes,我不知道该怎么做,因为我合并为两个分支,但它确实是一个" action"所以手动创建两个拉取请求似乎很奇怪,特别是因为我们当前流程中的步骤4)只需单击一次。
有没有一种聪明的方法来处理这个问题?我理想的情况是推动Pull Request上的Merge按钮会合并到两者中,但这似乎不是一个可用的选项。
答案 0 :(得分:24)
正如您所提到的,Pull请求只有一个目标分支,因此您无法通过以下方式将修补程序推送到master
和develop
合并一个Pull请求。
我也很惊讶你提到你的步骤#4 - 将修补程序分支合并到master
和develop
并推送上游 - 是一个动作。虽然从hotfix
到master
的合并很可能不会遇到合并冲突,但我对hotfix
合并的说法不一样至develop
,因为自上次部署到生产以来它可能已被处理过。
我的建议如下:
hotfix
创建一个PR到master
并让某人审核以验证修复master
,请从hotfix
创建另一个PR到develop
,看看是否遇到合并冲突
另一种解决方案,如果您真的想要沿着自动化路径走下去,那就是利用GitHub webhooks和API。
webhook允许你成为notified when a PR is merged。您可以检查有效负载以确保基本分支以hotfix/
开头,目标分支为master
。然后,您可以使用从同一hotfix
分支到develop
的{{3}} API来对该事件作出反应。
这将涉及一些开发,并且努力可能不值得,因为通过UI创建PR仍然非常容易和快速。