2013-06-21 4 views
4

Я хочу создать локальную и удаленную ветку с именем test из ветви разработки по происхождению. Однако, хотя моя текущая локальная ветвь отслеживает происхождение/развивается, когда я проверяю новую ветвь, она берет начало/мастер. Поэтому я должен выполнить следующие шаги, чтобы получить тестовую ветку как на удаленной, так и на локальной основе.Создание локального филиала от удаленного филиала развития

git checkout -b test (By default it picks origin/master though my current branch tracks origin/develop) 
git fetch origin 
git reset --hard origin/develop 
git push -u origin test 

ответ

9

Согласно documentation

git checkout -b test --track origin/develop 

должен сделать трюк.


Как дополнительные лакомства, если вы хотите создать местное отделение для отслеживания удаленного филиала с тем же именем, вы можете быть ленивыми опускают -b варианта

git checkout --track origin/develop 

будет создавать и извлекают местное отделение по имени develop, таким образом, эквивалентной

git checkout -b develop --track origin/develop 

Из дока

В качестве удобства, --track без -b подразумевает создание ветки.

[...]

Если нет опции -b не задана, название нового филиала будет получен из удаленного отслеживания ветви.

+0

Спасибо, но могу ли я на самом деле отслеживать происхождение/разработать и создать новый «тест» ветки как на удаленном, так и на локальном репозитории за один шаг? Может быть, попросить слишком много. – vkaul11

+0

Не то чтобы я знаю, и я уверен, что вы не можете. Вам нужно будет нажать локальный филиал, чтобы достичь того, чего вы хотите. Таким образом, в итоге вся процедура сводится к двум командам: создайте локальную ветвь и нажмите ее. –