Por que o git commit --amend altera o hash, mesmo que eu não faça nenhuma alteração?

Por que o hash SHA-1 da minha confirmação mais recente é alterado, mesmo que eu não faça nenhuma alteração na confirmação (mensagem, arquivos) após a execuçãogit commit --amend?

Digamos que eu execute o seguinte na linha de comando.

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

Então, invocando

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

imprime a seguinte mensagem:

b96a901 initial commit

Então eu faço

git commit --amend

mas mudo de idéia e decido não mudar nada no último commit. Em outras palavras, deixo os arquivos, diretórios e mensagens da última confirmação intocados (apenas salve o arquivo de mensagens e feche meu editor).

Então eu faço

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

mais uma vez, vejo que o hash do commit mudou:

3ce92dc initial commit

O que faz com que o hash mude? Isso tem a ver com o carimbo de data / hora do commit?

questionAnswers(3)

yourAnswerToTheQuestion