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