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 in public and private repositories with GitHub Pro, GitHub Team, GitHub Enterprise Cloud, and GitHub Enterprise Server. For more information, see "GitHub's products."

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, contributors and bots can only push local commits to the branch if they are signed and verified. Contributors and bots can merge signed and verified commits using the GitHub web interface. For more information about signing commits, see "About commit signature verification."

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

Ask a human

Can't find what you're looking for?

Contact us