About required commit signing

Required commit signing ensures that collaborators can only push verified signed commits to a protected branch.

Protected branches are available in public repositories with GitHub Free and GitHub Free for organizations, and in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server.

Did this doc help you?

If you've enforced branch protections in your repository, you can set up required commit signing. For more information, see "Configuring protected branches."

When you enable required commit signing on a branch, contibutors can only push commits that have been signed and verified to the branch. For more information, see "About commit signature verification."

You can always push local commits to the branch if the commits are signed and verified. However, you cannot merge pull requests into the branch on GitHub Enterprise. You can merge pull requests locally. For more information, see "Checking out pull requests locally."

Note: Enabling required commit signing on a branch will make it more difficult to contribute. If a collaborator pushes an unsigned commit to a branch that has required commit signing enabled, they will need to rebase their commit to include a verified signature and force push the rewritten commit to the branch.

Administrators of a repository can push local commits that have not been signed and verified, however you can require administrators to be subject to required commit signing. For more information, see "Enabling required commit signing."

Further reading

Did this doc help you?