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

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

Ответ 1

Из объявления Git 1.7.10 (апрель 2012):

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

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

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

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

Ответ 2

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

git init 

а затем используйте

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

чтобы извлечь только одну ветвь в локальную ветвь удаленного отслеживания.

Ответ 3

" - однопроводная" - это ваш ответ, но он работает только, если у вас есть git версия 1.8.X и далее, сначала проверьте

#git --version 

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

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

По умолчанию в Ubuntu 12.04/12.10/13.10 и Debian 7 установка по умолчанию git выполняется только для версии 1.7.x, где - однопроводная - неизвестный коммутатор. В этом случае вам нужно установить более новый git сначала из не-default 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 теперь будет загружать только одну ветку с сервера.

Ответ 4

Я выполнил следующую команду git:

git clone [url] -b [branch-name] --single-branch