Warum ändert git commit --amend den Hash, auch wenn ich keine Änderungen vornehme?

Warum ändert sich der SHA-1-Hash meiner letzten Festschreibung, auch wenn ich nach der Ausführung keine Änderungen an der Festschreibung (Nachricht, Dateien) vornehme?git commit --amend?

Angenommen, ich führe Folgendes in der Befehlszeile aus.

cd ~/Desktop
mkdir test_amend
cd test_amend
git init
echo 'foo' > test.txt
git add test.txt
git commit -m 'initial commit'

Dann aufrufen

git log --pretty=oneline --abbrev-commit

druckt die folgende Nachricht aus:

b96a901 initial commit

Ich mache es dann

git commit --amend

aber ich ändere meine Meinung und entscheide mich, im letzten Commit nichts zu ändern. Mit anderen Worten, ich lasse die Dateien, Verzeichnisse und Nachrichten des letzten Commits unberührt (ich speichere einfach die Nachrichtendatei und schließe meinen Editor).

Dann mach ich

git log --pretty=oneline --abbrev-commit

ein weiteres Mal sehe ich, dass sich der Hash des Commits geändert hat:

3ce92dc initial commit

Wodurch ändert sich der Hash? Hat es mit dem Zeitstempel des Commits zu tun?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage