2013-11-17 2 views
37

У меня есть репо в bitbucket, и я использую git.Отверните конкретную ветку от git

Так что мои ветви

master 
develop_one 
develop_two 

Когда я использую git clone [email protected]:project/project.git, я получаю только код мастер-ветви, но мне нужно, чтобы клонировать/тянуть только develop_one ветвь, так как клонировать/тянуть только develop_one ветвь кода ?

Примечание: Остальные ветви (develop_one, develop_two) не объединяются, чтобы мастер, и не хотят сливаться, пока функциональность не была завершена на самом деле, так хочется, чтобы/клон/тянуть только код конкретной отрасли

+3

возможно дубликат [Clone только одной ветви] (http://stackoverflow.com/questions/4811434/ clone-only-one-branch) – RyPeck

+0

Чтобы уточнить - хотите ли вы клонировать или просто вытаскивать из одной ветки? Два разных вопроса. – RyPeck

ответ

74

Try:

git clone [email protected]:project/project.git -b develop_one --single-branch

Для уже клонированных РЕПО использовать:

git fetch 
git checkout develop_one 
# Or more specific: 
git checkout --track -b develop_one 

Это будет отслеживать ветвь develop_one с пульта.

+0

Я получаю 'error: unknown option single-branch', когда я делаю команду, которую вы упоминаете. Какую версию git вы используете? –

+0

'git --version' возвращает' git version 1.8.4.2' (только один выпуск патчей позади, который я вижу) – tombruijn

+3

Oh Ok. '--single-branch' пришел [' 1.7.10'] (https://raw.github.com/gitster/git/master/Documentation/RelNotes/1.7.10.txt), и я на '1.7. 9.5'. Какой крайний случай :) –

9

Кроме того, чтобы добавить в @tomrbrujin ответ «s, вы можете указать имя локального каталога назначения в клон команды, как это:

git clone https://github.com/example/example1.git -b branch_name --single-branch local_name 

Конечный аргумент прошел, local_name бы создайте и назовите локальную копию клонированного удаленного каталога «local_name».

В противном случае, имя локального каталога будет отражать только имя репо, который здесь будет: пример

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