Testen von unsigned Commits
In diesem Schritt werden wir einen weiteren Commit ohne Signatur erstellen und beobachten, wie Git ihn behandelt, wenn wir die Prüfbefehle verwenden, die wir in den vorherigen Schritten gelernt haben. Dies wird Ihr Verständnis dafür verstärken, wie Git unsigned Commits erkennt.
Stellen Sie zunächst sicher, dass Sie sich in Ihrem Projektverzeichnis befinden:
cd ~/project/my-time-machine
Fügen wir eine weitere Zeile zu unserer message.txt
-Datei hinzu:
echo "This is a second message." >> message.txt
Der >>
-Operator hängt den Text an die bestehende Datei an. Lassen Sie uns nun den Status überprüfen:
git status
Sie sollten sehen, dass message.txt
geändert wurde:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Lassen Sie uns nun die Änderungen stagieren und einen neuen Commit erstellen. Wir werden diesen Commit nicht signieren.
git add message.txt
git commit -m "Add a second message"
Sie werden eine Ausgabe sehen, die den neuen Commit bestätigt:
[master a1b2c3d] Add a second message
1 file changed, 1 insertion(+)
Nachdem wir nun einen zweiten, unsigned Commit haben, lassen Sie uns erneut git log --show-signature
verwenden, um die Historie anzuzeigen:
git log --show-signature
Sie werden beide Commits im Log sehen. Keiner von ihnen wird Signaturinformationen anzeigen, da wir das Signieren noch nicht konfiguriert haben.
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Add a second message
commit u1v2w3x4y5z6a7b8c9d0e1f2g3h4i5j6k7l8m9n0
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:00:00 2023 +0000
Send a message to the future
Schließlich verwenden wir git verify-commit
für den neuen Commit. Holen Sie sich den kurzen Hash des neuesten Commits mit git log --oneline
und ersetzen Sie YOUR_NEW_COMMIT_HASH
unten:
git log --oneline
a1b2c3d (HEAD -> master) Add a second message
u1v2w3x Send a message to the future
Verifizieren Sie nun den neuen Commit:
git verify-commit YOUR_NEW_COMMIT_HASH
Wiederum wird die Ausgabe die Commit-Details anzeigen, aber keinen Signaturprüfstatus, was bestätigt, dass auch dieser Commit unsigned ist.
Dieser Schritt zeigt, dass Git-Commits standardmäßig nicht signiert sind. Um eine zusätzliche Sicherheitsebene und Vertrauenswürdigkeit hinzuzufügen, müssen Sie Git explizit so konfigurieren, dass es Ihre Commits signiert. Dies ist ein fortgeschrittenes Thema, das wir in diesem Einführungslab nicht behandeln werden. Das Verständnis, wie man unsigned Commits mit git log --show-signature
und git verify-commit
erkennt, ist jedoch der erste Schritt bei der Arbeit mit signierten Commits.