Skip to content

Commit

Permalink
Post: Commits und Tags in Git signieren
Browse files Browse the repository at this point in the history
Mögliche Fehler und Lösungen hinzugefügt
  • Loading branch information
crycode-de committed Sep 16, 2024
1 parent 7280504 commit 3ad5016
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions posts/commits-und-tags-in-git-signieren.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@ author:
link: https://crycode.de
banner: banner.webp
date: 2024-09-16 13:00:00
updated: 2024-09-16 20:49:00
categories:
- [Linux]
- [Software]
tags:
- Git
- Versionierung
- Signierung
abbr:
WSL: Windows Subsystem for Linux
---

Wer mit der Versionierungssoftware [Git](https://git-scm.com/) arbeitet und beispielsweise auf [GitHub](https://github.com/crycode-de) unterwegs ist, hat bestimmt schon mal das grüne Label *Verified* bei den Commits, oder auch Tags gesehen.
Expand Down Expand Up @@ -171,3 +174,25 @@ Im unteren Abschnitt *GPG Keys* fügen wir dann über den Button *New GPG key* u
Als *Title* empfehle ich hier einen aussagekräftigen Titel, über den man später direkt weiß zu welchem Rechner dieser Schlüssel gehört.
Über den Button *Add GPG key* wird der Schlüssel schließlich gespeichert und von nun an kann GitHub darüber verifizieren, dass unsere Commits wirklich von uns stammen. 😎
## Mögliche Fehler und Lösungen
Gelegentlich (besonders beim Einsatz von {% abbr WSL %}) kommt es dazu, dass die Signierung des Commits mit folgender Fehlermeldung fehl schlägt:
```plain
error: gpg failed to sign the data
fatal: failed to write commit object
```
Dies liegt oftmals daran, dass GPG nicht weiß, wo es nach dem Passwort für den Schlüssel fragen soll.
Abhilfe schafft hier dann `export GPG_TTY=$(tty)` in dem Terminal aufzurufen, womit wir GPG über eine Umgebungsvariable mitteilen, was das aktuelle Terminal ist.
Damit wir dies nicht immer händisch machen müssen, können wir diesen Befehl auch der `.bashrc` Datei hinzufügen, sodass er bei jedem neuen Terminal automatisch aufgerufen wird:
```sh Befehl zur .bashrc hinzufügen
echo 'export GPG_TTY=$(tty)' >> ~/.bashrc
```
Ein weiterer Grund für diesen Fehler kann ein zu kleines Terminal sein.
Damit GPG nach dem Passwort fragen kann, muss das Terminal mindestens 12 Zeilen hoch sein. Andernfalls bricht der Vorgang mit genau dieser Fehlermeldung ab.

0 comments on commit 3ad5016

Please sign in to comment.