Blog

Warum Sie noch heute mit dem Signieren Ihrer Git Commits beginnen sollten

Tibor Hercz

Aktualisiert Oktober 17, 2025
4 Minuten

Sie können Ihre Git-Commits mit einem GPG-Schlüssel kryptografisch signieren. Damit können Sie beweisen, dass der Commit von Ihnen stammt. Und kann als zuverlässiger Prüfpfad dienen. Außerdem erhalten Sie ein cooles 'Verified'-Abzeichen neben Ihren Commits. Bevor ich Ihnen erkläre, wie Sie es einrichten, möchte ich darüber sprechen, warum Sie Ihre Commits signieren sollten. Indem Sie Ihre Commits signieren, können Sie nachweisen, dass der Commit tatsächlich von Ihnen stammt. Das ist notwendig, weil es ziemlich einfach ist, jemanden als Autor eines Commits hinzuzufügen. Das können Sie tun, indem Sie das Flag --author zu Ihrem Commit hinzufügen. Etwa so: --author="Author Name <email@address.com>" Dies ist an sich noch keine Sicherheitslücke. Aber es könnte dazu benutzt werden, den wahren Autor von bösartigem Code zu verstecken. Wenn ein Commit unsigniert ist, haben Sie keine Garantie, dass:

  • Der Autor des Commits ist nicht die Person, die den Commit durchgeführt hat
  • Der Code wurde nicht manipuliert Daher könnte das Signieren von Commits bei der Einhaltung der Vorschriften helfen. Zum Beispiel bei der PCI-Compliance, wo ein Prüfpfad für jede Änderung erforderlich ist. Mit signierten Commits können Sie Git als verlässliche Quelle für Ihren Audit Trail verwenden. Vergewissern Sie sich, dass der Autor der Überweisung tatsächlich derjenige ist, der er vorgibt zu sein. Das Signieren Ihrer Commits hindert zwar niemanden daran, Sie weiterhin als Autor eines Commits hinzuzufügen. Dies führt zu einer unsignierten Übergabe, die nicht garantiert, dass der Autor mit dem Verfasser des Codes identisch ist. Zu guter Letzt erhalten Sie, wenn Sie Ihre Commits signieren, ein cooles 'Verified'-Abzeichen neben Ihren Commits. (siehe Bild unten) Ihre Git-Commits heute github-verifiziert signieren

Fazit


Indem Sie Ihre Commits signieren, können Sie beweisen, dass Sie der Autor sind. Sie können sicher sein, dass der Code nicht manipuliert wurde. Und signierte Commits können als zuverlässige Quelle für einen Audit Trail dienen.

Wie Sie Ihre Commits signieren:

Hier werde ich Ihnen Schritt für Schritt zeigen, wie Sie Ihre Commits mit GPG signieren.

GPG installieren

Laden Sie die GPG-Befehlszeilentools für Ihr Betriebssystem herunter und installieren Sie sie. Für Mac-Benutzer ermöglicht die GPG Suite das Speichern Ihrer GPG-Schlüssel-Passphrase im Mac OS Schlüsselbund.

GPG-Schlüssel generieren

Generieren Sie einen GPG-Schlüssel gpg --full-gen-key. Stellen Sie sicher, dass Sie eine Passphrase festlegen, wenn Sie dazu aufgefordert werden. Wenn Ihr Schlüssel gestohlen wird, kann er ohne Kenntnis der Passphrase nicht verwendet werden. GPG-Schlüssel auflisten Rufen Sie Ihre GPG-Schlüssel ab, indem Sie den Befehl ausführen: gpg --list-secret-keys --keyid-format long In der Zeile, die mit 'sec' beginnt, sollte der Teil nach dem Schrägstrich / wie folgt aussehen 3AA5C34371567BD2

Fügen Sie den GPG-Schlüssel zu GitHub hinzu

Damit GitHub Ihre Commits verifizieren kann, sollten Sie Ihren GPG-Schlüssel auf GitHub hochladen. Sie können den GPG-Schlüssel unter den Profileinstellungen auf GitHub hochladen. Dies sollte auch für Gitlab, Bitbucket und andere Git-Repository-Manager funktionieren.

  1. Gehen Sie zu GitHub und navigieren Sie zu den Einstellungen.
  2. Klicken Sie auf 'SSH- und GPG-Schlüssel'.
  3. Klicken Sie auf 'Neuer GPG-Schlüssel'.
  4. Holen Sie sich Ihren GPG-Schlüssel mit folgendem Befehl gpg --armor --export 3AA5C34371567BD2
  5. Fügen Sie die Ausgabe in GitHub ein
  6. Speichern Sie

Git konfigurieren

Nachdem Sie nun Ihren GPG-Schlüssel erstellt und auf GitHub hochgeladen haben, können Sie git auf Ihrem Rechner so einrichten, dass der Schlüssel verwendet wird. Führen Sie den folgenden Befehl aus, um Ihren Schlüssel zur globalen git-Konfiguration hinzuzufügen git config --global user.signingkey 3AA5C34371567BD2

Unterschreiben Sie Ihre Commits

Jetzt können Sie damit beginnen, Ihre Commits und Tags zu signieren, indem Sie die folgenden Flags hinzufügen:

  • Fügen Sie beim Erstellen eines Commits die Option -S hinzu: git commit -S
  • Erstellen Sie ein Tag mit git tag -s: git tag -s mytag Es ist auch möglich, alle Ihre Commits automatisch zu signieren, indem Sie die folgenden Optionen in Ihrer Git-Konfiguration einstellen: git config --global commit.gpgSign true git config --global tag.gpgSign true

    Überprüfen Sie

    Um zu überprüfen, ob Ihr Commit signiert ist, navigieren Sie zu Ihrem Commit in GitHub und sehen Sie, ob Sie das Abzeichen 'Verified' daneben sehen.

    Optional: Signierte Commits auf GitHub erzwingen

    Es ist möglich, signierte Commits in Ihrem Repo zu erzwingen. Um zu erfahren, wie Sie dies aktivieren können, klicken Sie hier

    Quellen

    GitHub: Über die Überprüfung von Commit-Signaturen Banner photo by Siora Photography on Unsplash

Verfasst von

Tibor Hercz

Tibor is a Cloud Consultant specialized in AWS with a strong background in Software engineering and has a passion for Compute, Networking and Security. His goal is to create simple Cloud Solutions that increases the efficiency and overall happiness of the teams and business. Sharing knowledge is important to him, so you will see him blogging and sharing knowledge about solutions he has built.

Contact

Let’s discuss how we can support your journey.