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?