2013-08-10 5 views
1

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

Можно ли загрузить только последнюю фиксацию из репозитория?

+0

Что именно вы подразумеваете под «репо-синхронизацией»? Это не команда git. – AD7six

+1

@ AD7six Он говорит об инструменте Google, который помогает управлять Android. [Repo] (https://code.google.com/p/git-repo/) построено поверх Git. – jszakmeister

+0

@jszakmeister спасибо за разъяснение. Теги 'git' и' github' сами по себе были довольно вводящими в заблуждение - возможно, они все еще есть, поскольку ответ git-ответа не отвечает на вопрос. – AD7six

ответ

0

Возможно, что вы ищете git pull См. the docs. Сначала нужно добавить репозиторий Github в качестве удаленного хоста:

git remote add master [email protected]:username/repository.git 

После этого вы можете вытащить из хранилища. В github есть ссылка для загрузки любого фиксации в виде файла .zip. Формат, который, как правило:

https://github.com/username/repository/archive/master.zip 
2

Да, по умолчанию git fetch (который является частью того, что делает git clone) будет получать полную историю удаленного хранилища.

Вы можете ограничить количество истории, которая извлекается с помощью опции команды извлечения --depth (клон будет передавать это значение для извлечения). Чтобы получить минимальное количество истории вы могли бы использовать:

git clone --depth 1 REPO_URL 

Это восстановить последний коммит и один (ы) непосредственно перед ее , но не старше совершает. Невозможно получить только последнюю фиксацию, , так как глубина 0 берется как желающая полной истории; но это близко.

Позже вы можете использовать git fetch с большей глубиной, чтобы увеличить количество доступной истории, или использовать git fetch --unshallow, чтобы получить полную историю.

В настоящее время существует ряд ограничений на мелкие хранилища. docs для git clone --depth сказать:

Мелкая хранилище имеет ряд ограничений (вы не можете клонировать или принести от него, ни толкать от ни в него), но достаточно, если вы только заинтересованы в недавняя история большого проекта с длинной историей, и захочет отправить исправления в виде патчей.

Хотя недавно были проведены работы по сокращению или даже удалению этих ограничений.

4

Я не пользуюсь репо, но оказывается, что вы можете pass the --depth flag до repo init. Используя что-то вроде repo init -u URL --depth=1. Флаг глубины переходит в руках git-clone и создать репозиторий только часть истории:

--depth <depth>

Создать неглубокой клона с историей усеченной до указанного количества изменений.В неглубоком хранилище есть ряд ограничений (вы не можете клонировать или извлекать из него, а также не нажимать ни на ), но и адекватно, если вас интересует только недавняя история крупного проекта с длинной историей и хотел бы отправить в исправления в виде патчей.

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