Получить снимок 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`