Используя git, чтобы получить только последнюю версию - PullRequest
330 голосов
/ 31 июля 2009

Я хочу отслеживать проект, который использует git. Я не хочу клонировать полный репозиторий и полную историю, я просто хочу последнюю ревизию и хочу иметь возможность обновляться до новых ревизий из удаленного проекта.

Я пытался использовать git clone, но при этом создается копия всего хранилища (огромный размер файла), а отслеживание изменений делает дисковое пространство еще больше (100 МБ файлов теперь занимает более 2 ГБ).

Я не собираюсь отправлять патчи, и мне не нужна история. Я просто хочу последнюю версию, как в Subversion.

Возможно ли это в git?

Ответы [ 2 ]

486 голосов
/ 31 июля 2009

Используйте параметр --depth в git clone:

Создание клона shallow с историей, усеченной до указанного количества коммитов.

пример: git clone --depth=1 <remote_repo_url>

74 голосов
/ 31 июля 2009

Альтернативным решением для мелкого клонирования (git clone --depth=1 <URL>) было бы, если удаленная сторона поддерживает его, использование опции --remote из git archive :

$ git archive --format=tar --remote=<repository URL> HEAD | tar xf -

Или, если рассматриваемый удаленный репозиторий можно просматривать с помощью какого-либо веб-интерфейса , например, gitweb или GitHub, то есть вероятность, что он имеет функцию «моментального снимка», и вы можете загрузить последнюю версию (без информация о версии) из веб-интерфейса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...