Получить снимок git-репо на определенную дату

Скажем, у меня есть репо с несколькими банками.

Можно ли получить снимок репо определенной даты / времени с помощью обычного git foo? (В настоящее время у нас есть дампы кода каждый день, и я думаю о том, как это убрать)

(Предполагается, что ни одна ветка не будет удалена окончательно, а история коммитов git не использовалась)

Редактировать: возможно промежуточное слияние ветвей.

1 ответ

Решение

Остерегайтесь @{<date>} на основе reflog (имеется в виду, по умолчанию ограничено 90 днями).
См. " Указание редакций " в git rev-parse,

" git checkout by date " предлагает другой метод:

git checkout `git rev-list -n 1 --before="2013-09-25 5:00" master`

Обратите внимание на это предупреждение:

rev-list не будет работать, если у вас есть слитые ветки.
Например: я хотел вернуться V5 филиал, но в конечном итоге V4.2 ветка.

Более надежный способ добавить --first-parent:

git checkout `git rev-list -n 1 --first-parent --before="2013-09-25 5:00" master`
Другие вопросы по тегам