Setze git config gpg.format ssh (oder openpgp, x509), user.signingkey und commit.gpgsign true; prüfe mit git log --show-signature oder git verify-commit. Die Prüfung mit SSH braucht gpg.ssh.allowedSignersFile mit einer Liste von Principals und Schlüsseln. Git signiert das Commit-Objekt selbst, das den Tree und die Eltern-Commits festschreibt, nicht aber spätere Rebases – diese erzeugen neue Commits, die neue Signaturen brauchen.
GitHub und GitLab zeigen Verified-Badges an, wenn die Signatur zu einem Schlüssel passt, der im Konto des Committers registriert ist (SSH-Signaturschlüssel werden getrennt von Authentifizierungsschlüsseln registriert), und Branch-Schutzregeln können signierte Commits vorschreiben. gitsign signiert Commits schlüssellos mit Sigstore. Eine Signatur beweist, welcher Schlüssel signiert hat, nicht, dass der Code gut ist, und die Plattformen signieren Merges aus der Web-UI mit ihren eigenen Schlüsseln neu.