Клонировать только одну ветку

Я хотел бы знать, как я могу клонировать только одну ветку вместо клонирования всего хранилища Git.

4 ответа

Решение

Из анонса Git 1.7.10 (апрель 2012):

  • git clone научился --single-branch возможность ограничить клонирование одной веткой (сюрприз!); теги, которые не указывают на историю ветки, не выбираются.

Git на самом деле позволяет вам клонировать только одну ветку, например:

git clone -b mybranch --single-branch git://sub.domain.com/repo.git

Примечание. Также вы можете добавить еще одну ветку или отменить это действие.

Вы можете создать новый репо с

git init 

а затем использовать

git fetch url-to-repo branchname:refs/remotes/origin/branchname

получить только эту одну ветку в локальную ветку удаленного отслеживания.

Переключатель "--single-branch"- это ваш ответ, но он работает, только если у вас git версии 1.8.X и выше, сначала проверьте

#git --version 

Если у вас уже установлена ​​версия git 1.8.X, просто используйте "-b branch and --single branch", чтобы клонировать одну ветку.

#git clone -b branch --single-branch git://github/repository.git

По умолчанию в Ubuntu 12.04/12.10/13.10 и Debian 7 установка git по умолчанию предназначена только для версии 1.7.x, где --single-branch - неизвестный параметр. В этом случае вам нужно сначала установить новый git из ppa не по умолчанию, как показано ниже.

sudo add-apt-repository ppa:pdoes/ppa
sudo apt-get update
sudo apt-get install git
git --version

После установки 1.8.X теперь просто выполните:

git clone -b branch --single-branch git://github/repository.git

Git теперь будет загружать только одну ветку с сервера.

Я сделал с ниже единственной командой git:

git clone [url] -b [branch-name] --single-branch
Другие вопросы по тегам