如何为GitHub项目或个人设置Pull Request默认合并方式为Squash and Merge?
如何在GitHub设置默认PR合并方式为“Squash and Merge”
嘿,完全可以在GitHub上把「Squash and Merge」设为个人账号新建仓库的默认合并方式,或者给单个已有仓库设置这个默认选项,下面是具体步骤:
单个已有仓库设置默认合并方式
- 打开目标仓库的主页,点击顶部导航栏的「Settings」选项卡
- 向下滚动页面,找到「Pull Requests」区域
- 在「Merge button」板块里,你会看到三个可选的合并方式:创建合并提交、Squash and Merge、Rebase and Merge
- 勾选「Squash and Merge」旁的「Set as default」,然后保存设置就完成了
个人账号下所有新建仓库的默认合并方式
如果你希望之后创建的所有新仓库都默认用这个合并方式,可以这么设置:
- 点击GitHub页面右上角的头像,选择「Settings」进入个人设置页面
- 在左侧菜单栏找到「Repositories」选项并点击
- 向下滚动到「Repository default settings」部分
- 在「Merge method」的下拉菜单里选择「Squash and Merge」,保存即可
补充说明
- 这个设置仅对你拥有管理权限的仓库生效(比如你自己创建的仓库、或者你是管理员的仓库),如果是fork的他人仓库,除非你有原仓库的管理权限,否则无法修改它的默认合并方式
- 你提到这个问题和「How to make --squash...」不是同一问题,这点非常准确——后者通常指的是Git命令行中的本地 squash 操作,而我们这里是在GitHub平台层面设置PR合并的默认选项,属于平台功能配置,和本地Git命令操作是完全独立的两个场景
- 设置默认后,PR页面的合并按钮会自动选中「Squash and Merge」,能有效避免误选「创建合并提交」的情况;如果偶尔需要用其他方式合并,也可以手动切换选项,不会限制操作灵活性
内容的提问来源于stack exchange,提问作者M. Justin




