Alle Commits automatisch mit git signieren [geschlossen]

8

Mit git 1.7.9 ist es möglich, ein Commit mit der -SOption zu signieren . Ist es möglich, die Standardeinstellung festzulegen git config --global?

Also stattdessen git commit -S -m 'Commit message'wäre es gerecht git commit -m 'Commit message'.

tamasd
quelle
2
Es ist mit neuem Git mit commit.gpgsign=trueEinstellung möglich.
Vi.

Antworten:

4

Um alle zukünftigen Git-Commits automatisch zu signieren, können Sie einen globalen Alias ​​definieren. Um beispielsweise einen globalen Alias ​​mit dem Namen "c" zu erstellen, gehen Sie folgendermaßen vor:

$ git config --global alias.c 'commit -s'

(Beachten Sie, dass der Festschreibungsschalter zum Abmelden "-s" in Kleinbuchstaben und NICHT "-S" in Großbuchstaben ist, wie Sie Ihre Frage eingegeben haben.)

Nachdem Sie dies getan haben, können Sie Ihre Commits mit Ihrem neu erstellten "c" -Alias ​​ausführen. Hier ist ein Beispiel für das Erstellen und Festschreiben einer Datei mit dem Namen "test.txt", die vom Committer abgemeldet wird:

$ vim test.txt
[edit file]
$ git add test.txt
$ git c -m 'My commit message'

Sie können sehen, dass das Commit die Zeile "Abgemeldet von:" hat, wenn Sie den Befehl "git log" mit der folgenden --pretty=fullerOption ausführen :

$ git log --pretty=fuller
Ricmarques
quelle
3
-sFügt dem Commit ein Feld "Abgemeldet von" hinzu. -STatsächlich signiert PGP das Commit, das in Git 1.7.9 hinzugefügt wurde. Dies signiert auch nicht alle Commits, sondern nur diejenigen, die vom Benutzer direkt mit dem git cBefehl erstellt werden. Wenn in einer Rebase neue Commits erstellt werden, werden die Commits nicht abgemeldet (oder von PGP signiert), es sei denn, Sie führen eine interaktive Rebase durch und schreiben jede Änderung manuell fest.
Patrick Niedzielski
Weitere Informationen zum Unterzeichnen von Commits finden Sie hier: phreaknerd.wordpress.com/2012/02/09/… zum Beispiel
Patrick Niedzielski