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?