Для эксперимента, скажем, ваш git log
идентифицирует следующие коммиты
commit 16bc8486fb34cf9a6faf0f7df606ae72ad9ea438 // added 2nd file
commit 9188f9a25b045f130b08888bc3f638099fa7f212 // initial commit
После фиксации .git/refs/heads/master
указывает на 16bc8486fb34cf9a6faf0f7df606ae72ad9ea438.
Скажем, после этого я вручную отредактирую файл .git/refs/heads/master
, чтобы указать на 9188f9a25b045f130b08888bc3f638099fa7f212
В этот момент статус git распознает, что новый незафиксированный файл нуждается в некотором внимании. Это тот же файл, о котором раньше заботился второй фиксатор.
Если я это сделаю.. git log
теперь показывает
commit b317f67686f9e6ab1eaabf47073b401d677205d5 // 2nd file committed for the 2nd time
commit 9188f9a25b045f130b08888bc3f638099fa7f212 // initial commit
Вопрос 1:
Вы заметите, что хеши SHA
отличаются друг от друга в первый раз, когда я совершил второй файл и теперь. Почему это? Содержимое файла не изменилось, это все тот же точный файл.
Вопрос 2
На этом этапе произошло то, что произошло с первоначальной второй фиксацией? Когда я делаю git show 16bc8486
, он показывает это commit. Однако он не отображается в истории git log
.