Configuring commit squashing for pull requests
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. For more information, see "Configuring pull request merges."
On GitHub, navigate to the main page of the repository.
Under your repository name, click Settings.
Under "Merge button", optionally select Allow merge commits. This allows contributors to merge a pull request with a full history of commits.
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. If there is a protected branch rule in your repository that requires a linear commit history, you must allow squash merging, rebase merging, or both. For more information, see "Requiring a linear commit history."