"Squash and Merge" as default Pull Request merge option

I tried searching for an answer to this question but I couldn’t find one.   For a pull request, if I make the “Create a merge commit” and “Squash and Merge” options available, is it possible to make “Squash and Merge” the default for any PRs opened for that repository?  Currently it looks like “Create a merge commit” will be the default if both options are available, and I don’t see a way to change that.

40 Likes

Currently, there doesn’t appear to be a way to change that, no. Either more than one option is available and the last one that you used is the one that is selected or there is only one option and you don’t get a choice.

1 Like

Any update ton this? I’d love this feature.

2 Likes

It looks like https://help.github.com/en/articles/configuring-commit-squashing-for-pull-requests now supports disabling the merge commit option.

2 Likes

Having an option to configure a default would be great. We use rebasing by default and merge commit as an exception. Saving the last used option leads to a lot of accidental merge commits

23 Likes

Would also appreciate such feature, especially for GitHub Enterprise.

Per-project default method could be implemented intuitivelly by allowing to reorder the merge methods in settings.

As a project administrator I’d pick “Squash merge” cause it’s easier than teach everyone that comment “Bug fix” is a bad practice.

Also per-user default method would make sence as next improvement. Although I’ll use “Squash Merge” as default for my project, I still prefer “Commit Merge” for myself because I usually dedicate some time to structured commits with meaningfull commit messages.

This could be set in user’s profile and be a subject of availability in each exact project - if your preferred method is not allowed, just use project’s default.

1 Like

+1 on adding this as a feature.

My workaround now is to only allow Rebase and Merge (my preference rather than squash, but that’s not the point here), and then for the rare exceptions that I want to Merge Commit instead, I change the settings to allow it, do the merge, and then change the settings back.

I’d much rather have Merge Commits be allowed, but require being explicitly selected, leaving Rebase and Merge as the displayed default.

+1 see no reason why this shouldn’t be allowed

+1 for this feature.

1 Like

+1 for this…we have too many bs messages. We have to grow our commit awareness but for now squash and merge would be helpful

+1. Depending on your workflow, a PR should be one commit or a number of commits. (I think 1 is cleaner). This as a configuration would be useful.

+1, last used leads to accidentally using the wrong strategy for our team as well. Would actually love to see a default by branch, since we use different strategies depending on the branch.

3 Likes

+1 on this feature. Is there any update on wanting to add this or not?

We want to by default do a “squash + merge” but allow power users to decide for themselves.

+1 it’s weird that it’s not already an option