Configuring pull request merges
You can configure pull request merges on GitHub to match your workflow and preferences for managing Git history by enabling, disabling, or enforcing standard merge commits, squashed commits, or rebased commits on all pull requests in your repository.
About merge methods on GitHub
You can allow contributors with push access to your repository to merge their pull requests on GitHub with different merge options or enforce a specific merge method for all of your repository's pull requests.
Configuring commit squashing for pull requests
You can enforce, allow, or disable commit squashing for all pull request merges on GitHub in your repository.
Configuring commit rebasing for pull requests
You can enforce, allow, or disable commit rebasing for all pull request merges on GitHub in your repository.
Managing the automatic deletion of branches
You can have head branches automatically deleted after pull requests are merged in your repository.