Git: получение только текущей версии - PullRequest
9 голосов
/ 10 августа 2011

Я устанавливаю скрипт, который загружает исходный код приложения из удаленного репозитория git, а затем запускает процесс сборки приложения. По понятным причинам мне нужно только загрузить текущее состояние (ревизию) кодовой базы - нет необходимости в истории. Есть ли способ в Git добиться этого? Клонирование всего хранилища слишком болезненно.

Ответы [ 3 ]

14 голосов
/ 10 августа 2011

Вы можете использовать git clone --depth 1 ... (см. FAQ: Как сделать быстрый клон без ревизий истории? )

12 голосов
/ 10 августа 2011

Вы можете попробовать параметр --depth=1 в git checkout:

git clone --depth=1 git://somehost/somerepo.git

альтернативно, если ваш удаленный хост поддерживает, вы можете использовать git archive:

 git archive --format=tar --remote=git://somehost/somerepo.git master  | tar -xf -
1 голос
/ 12 августа 2011

Настройка скрипта подразумевает, что вы будете собирать из одного и того же хранилища несколько раз. Если это так, выполнение git clone с полной историей все еще полезно, потому что это нужно сделать только один раз . После этого наличие локальной истории значительно ускорит ваши заказы даже при использовании git clone --depth=1, потому что вы загружаете только изменения. git clean выполнит эту работу, если вам нужно вернуться в первозданное состояние для строительства.

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