Почему это не сработало?
git checkout @{14.days.ago}
пытается восстановить локальное состояние конкретного репозитория в данный момент на основе reflog (записьиз всех коммитов HEAD, указанных в прошлом).Если это новый клон, он не будет работать.
Итак, хороший синтаксис не будет работать, и вам нужно найти коммит, выполненный год назад, и проверить его по хешу.Как это сделать?
Как найти коммит, отправленный год назад?
Я бы просто попытался найти правильный коммит в gitk
, прокручивая годкоммитов не должно быть проблемой в большинстве случаев.Однако вы также можете просмотреть журнал, например:
git log --date=iso | grep -C3 2017-05-
или, если вы знаете, что в определенный день были отправлены коммиты, например:
git log --date=iso | grep -C3 2017-05-23
Краткое объяснение:
--date=iso
гарантирует, что дата будет отображаться легко и быстро. -C3
позволяет grep
включать 3 соседние строки, вверх и вниз, так что дляпри каждом коммите мы фиксируем строку с хешем и первой строкой сообщения о коммите.