Skip to main content

Configuring commit squashing for pull requests

You can enforce, allow, or disable commit squashing for all pull request merges on GitHub.com in your repository.

您可以在 GitHub.com 上配置拉取请求合并选项,以满足您的工作流程需要和用于管理 Git 历史记录的首选项。 有关详细信息,请参阅“配置拉取请求合并”。

有关 squash 合并的默认提交消息的信息,请参阅“关于拉取请求合并”。

  1. 在 GitHub.com 上,导航到存储库的主页。

  2. 在存储库名称下,单击 “设置”。 “存储库设置”按钮

  3. Under "Pull Requests", select Allow squash merging. This allows contributors to merge a pull request by squashing all commits into a single commit. The default commit message presented to contributors when merging is the commit title and message if the pull request contains only 1 commit, or the pull request title and list of commits if the pull request contains 2 or more commits.
    Pull request squashed commits

  4. Optionally, under Allow squash merging, use the dropdown to choose the format of the default squash commit message presented to contributors when merging. The default message uses the commit title and message if the pull request contains only 1 commit, or the pull request title and list of commits if the pull request contains 2 or more commits. You can also choose to use just the pull request title, the pull request title and commit details, or the pull request title and description. Screenshot of emphasized default squash message dropdown

If you select more than one merge method, collaborators can choose which type of merge commit to use when they merge a pull request. 如果你的存储库中有需要线性提交历史记录的受保护分支规则,则必须允许 Squash 合并和/或变基合并。 有关详细信息,请参阅“关于受保护的分支”。

Further reading