Использование git reset
обновляет указатель (refs /heads / master), чтобы он указывал на более раннюю ревизию. На самом деле он не делает новую ревизию, которая эффективно откатывается к этой более ранней ревизии, что, как я полагаю, и есть то, что делает ваш «ртутный эквивалент» (и это в некоторой степени похоже на то, что делает git revert
).
Однако Git хранит файл журнала о том, как со временем менялись refs /heads / master, и отдельный файл для HEAD. Вы можете просмотреть это в довольно сыром виде, используя
git reflog show HEAD
(или мастер) или в более знакомой форме, просто используя
git log -g
Этот режим git log показывает записи reflog вместо того, чтобы проходить по графу ревизий: git log -g -n 10
покажет последние 10 вещей, на которые указал HEAD, так что это будет то же самое, что и git log -n 10
, если все, что вы сделали, было простым git commit
s.
Однако, он также покажет изменение веток, сброс настроек и т. Д.
git log -g master
будет отображать только записи reflog, где основная ветвь изменилась (смена ветвей вообще не появляется ни в одном журнале веток).