O SHA-1 de confirmações é calculado com base apenas no conteúdo da árvore?

Para uma experiência, digamos que seugit log identifica os seguintes commits

commit 16bc8486fb34cf9a6faf0f7df606ae72ad9ea438  // added 2nd file
commit 9188f9a25b045f130b08888bc3f638099fa7f212  // initial commit

epois de confirmar,.git/refs/heads/master aponta para 16bc8486fb34cf9a6faf0f7df606ae72ad9ea43

Vamos dizer que, depois disso, eu edito manualmente o.git/refs/heads/master arquivo para apontar para 9188f9a25b045f130b08888bc3f638099fa7f212

Nesse momento, o status git reconhece que um novo arquivo não confirmado precisa de alguma atenção. Esse é o mesmo arquivo que meu segundo commit cuidou antes.

Se eu o comprometer ..git log agora mostra

commit b317f67686f9e6ab1eaabf47073b401d677205d5  // 2nd file committed for the 2nd time
commit 9188f9a25b045f130b08888bc3f638099fa7f212  // initial commit

Questão 1

Você notará queSHA hashes são diferentes entre a primeira vez que cometi um segundo arquivo e agora. Por que é que? O conteúdo do arquivo não foi alterado, ainda é o mesmo arquivo exato.

Questão

Neste ponto, o que aconteceu com o segundo commit original? Quando eu façogit show 16bc8486, mostra esse commit. No entanto, não aparece emgit log história.

questionAnswers(3)

yourAnswerToTheQuestion