2012-06-12 3 views
1

Для проекта, над которым я работаю, мне нужно сохранить все файлы определенной версии git-репозитория. Я просмотрел довольно много информации о git checkout, но я не могу понять, что это делает с файлами в каталоге, который у меня есть, не говоря уже о сохранении версии этого конкретного коммита. Кто-нибудь знает способ получить файлы репозитория git при определенном коммитовом? Благодарю.сохранить старые версии репозитория git

ответ

2

Do a "git export" (like "svn export")?

git checkout [commit sha] 
git archive --format zip --output /full/path/to/zipfile.zip master 

Однако, я не знаю, почему. Обычно один использует vcs именно потому, что он сохраняет каждое состояние, поэтому почему бы вам просто не пометить его и не проверить, когда вам это нужно?

+0

Спасибо! Это именно то, что мне нужно. – SSEMember

+0

Есть ли способ получить файлы без отправки их в .zip? Мне нужно, чтобы они были распакованы, и если бы я их распаковал, я был бы здесь навсегда. – SSEMember

+1

Вы не можете распаковать весь архив? :? Должен сказать: Мне любопытно. Однако: после «checkout» у вас есть все файлы в рабочей области. Если вы хотите отделить проверку от рабочей области, вы можете использовать первый пример в ссылке, которую я предоставил ('git archive master | tar -x -C/something/else'), или просто сделать локальный клон, выгрузить и удалить git ('git clone/local/path/to/repo/another/path; cd/another/path; git checkout [SHA]; rm -Rf .git;') – KingCrunch

0

Я думаю, tag поможет. Каждый раз, когда вам нравится сохранять все текущие файлы, введите что-то вроде git tag -a v1.4 -m 'version 1.4'. Поэтому, как только вы захотите, чтобы эти файлы назад, скопировали или сменили изменения сначала, введите git checkout v1.4, файлы будут откат до того момента, когда вы отметите теги. Проверьте эту ссылку для получения дополнительной информации: how to tag и how to get them back.

Смежные вопросы