Клонировать только одну ветку
Я хотел бы знать, как я могу клонировать только одну ветку вместо клонирования всего хранилища 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