有没有办法在 GitHub 中指定合并拉取请求的默认选项?

问题描述 投票:0回答:4

我正在开发一个项目,其中“压缩和合并”是合并拉取请求的首选方法。 有没有办法让它成为 GitHub 中的默认选项,无论是我自己的用户还是项目?

就目前情况而言,选择默认选项(创建合并提交)非常容易。 鉴于您通常不应该修改存储库历史记录,因此它不容易撤消,这使得问题尤其严重。

请注意,这与How to make --squash default on a merge?不同,因为后者指的是 Git 的命令行用法,而我的问题涉及 GitHub 用户界面中的功能。

git github git-merge
4个回答
38
投票

GitHub 用户界面将默认选项为用户为当前项目选择的最后一个选项。 这解决了不会意外使用错误默认值的问题,因为在第一个 PR 正确完成合并后,后续合并将具有所需的默认值。

这个解决方案并不完美。 如果用户有意进行不同类型的一次性合并,他们需要记住将其设置为下一次合并,因为默认值将更改为与规范的一次性偏差。


25
投票

您可以通过禁止其他类型的合并来有效地将其设置为 github 中存储库的默认值。从存储库中,单击“设置”,然后在“选项”选项卡上向下滚动到“合并按钮”。您可以取消选中“允许合并提交”和“允许变基合并”,这使得“允许挤压合并”成为在此存储库中合并拉取请求的唯一选择。


12
投票

没有。

目前 GitHub 上无法设置默认合并策略,我也没有找到任何功能请求。所以我在这里提出了一个功能请求:https://github.com/github-community/community/discussions/20583

如果您同意建议的功能,请投票和评论

编辑(2024 年 12 月 6 日)

借助此新功能,您现在可以选择每个分支允许使用哪些合并方法:https://github.com/orgs/community/discussions/146284。 遗憾的是仍然没有选择默认值的选项。


1
投票

简短的回答是:不

根据文档,这似乎是故意的,Github 的表述如下:

您可以通过仅为存储库启用所需的方法来强制执行一种类型的合并方法,例如提交压缩或变基。

© www.soinside.com 2019 - 2024. All rights reserved.