Обычно вы просматриваете исторические версии непосредственно в вашем обычном рабочем дереве (вы можете извлекать любой коммит как «отдельную HEAD» / «неназванную ветвь») или косвенно просматриваете историю с помощью git log
(особенноопция -p
), git blame
и так далее.
Но, если вам действительно нужно полностью распаковать старую версию, вы можете использовать git archive
команда для создания tar архива с определенным коммитом 1 (имя тега, имя ветки (вы получите его коммит-наконечник) или идентификатор объекта фиксации (т. Е. SHA-1 значение хеша) будет работать, чтобы указать коммит).Вы можете легко передать архив в tar , чтобы распаковать его в любое удобное для вас место.
Из вашего каталога репозитория:
git archive --format=tar branch-or-tag-name-or-commit-id |
(mkdir /path/to/destination && cd /path/to/destination && tar xf -)
git archive
всегда будет работать для локальных репозиториев,Его также можно использовать с нелокальными репозиториями (или локальными репозиториями, не основанными на вашем текущем рабочем каталоге) с помощью опции --remote
;не все службы хостинга Git могут разрешать извлечение архивов (они могут не захотеть тратить процессорное время или пропускную способность).
1 На самом деле вы можете использовать git archive
с любым tree (т. Е. Корневой каталог или любой подкаталог, представленный в любом коммите), но чаще всего он используется с подсказками ветвей, тегами и коммитами.