Дополнительно
Как клонировать определенную ветку Git?
Git clone будет вести себя так, что удаленная текущая рабочая ветка будет копироваться в локальную.
Есть ли способ клонировать конкретную ветку самостоятельно, не переключая ветки на удаленном репозитории?
2764
7
Пример:
В Git 1.7.10 и более поздних версиях добавьте
--single-branch
, чтобы предотвратить выборку всех ветвей. Пример, с веткой OpenCV 2.4:Опция
--single-branch
действительна начиная с версии 1.7.10 и более поздних.Смотрите также другой ответ, который многие предпочитают.
Вы также можете убедиться, что понимаете разницу. А разница заключается в следующем: вызывая
git clone --branch url
, вы получаете все ветки и проверяете одну из них. Это может, например, означать, что в вашем хранилище есть ветка документации или вики размером 5 кб и ветка данных размером 5 гб. И всякий раз, когда вы захотите отредактировать свою frontpage, вы можете в итоге клонировать 5 ГБ данных.Опять же, это не значит, что
git clone --branch
не является способом достижения этой цели, просто это не всегда то, что вы хотите достичь, когда вы спрашиваете о клонировании конкретной ветки.На момент написания оригинального ответа ниже, git не имел опции
--single-branch
, но давайте сохраним её для полного удовлетворения сердитых пчёл.Ответ, который так не понравился копипастерам, был следующим:
Вот очень простой способ сделать это :)
Клонировать репозиторий
Список всех филиалов
Оформить ветке, что вы хотите
Чтобы клонировать ветку без получение других отраслях:
например в моем случае:
Итак, чтобы создать новую ветку на основе моего перечисления-счет-номер отделения я:
После того, как вы нажмете Enter происходит следующее:
и"
Создайте ветку в локальной системе с этим именем. Например, допустим, вы хотите получить ветку с именем "branch-05142011".
git branch branch-05142011 origin/branch-05142011
Это даст вам сообщение типа - "Branch branch-05142011 set up to track remote branch branch-05142011 from origin."
Теперь просто проверьте ветку, как показано ниже, и у вас есть код -
git checkout branch-05142011
Но автодополнение bash Дон'т получить этот ключ:
--филиал
Наслаждаться.