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

You can configure pull request merge options on GitHub to meet your workflow needs and preferences for managing Git history.

  1. On GitHub, navigate to the main page of the repository.

  2. Under your repository name, click Settings. Repository settings button

  3. Under "Merge button", optionally select Allow merge commits. This allows contributors to merge a pull request with a full history of commits. allow_standard_merge_commits

  4. Under "Merge button", select Allow squash merging. This allows contributors to merge a pull request by squashing all commits into a single commit. If you select another merge method besides Allow squash merging, collaborators will be able to choose the type of merge commit when merging a pull request. Pull request squashed commits

Further reading