Git сводит меня с ума, как я могу создать новую удаленную ветку на основе существующей ветки, не являющейся главной? - PullRequest
1 голос
/ 08 июня 2010

Я уверен, что это очень просто сделать, но я следовал нескольким учебникам и не могу понять это.

В настоящее время у меня есть две ветви на удаленных и локальных компьютерах:

master
*search_refactor

Мы хотим создать новую удаленную ветвь с именем design_refactor и иметь код в этой новой ветке, который будет (изначально) клоном кода в ветке search_refactor.

Цель всего этого заключается в том, чтобы я хотел опробовать некоторые идеи, которые у меня есть, в ветке search_refactor, поделиться ими с другими, но не изменять ветку search_refactor.

Наша текущая версия git - 1.6.5

.

Спасибо!

1 Ответ

2 голосов
/ 08 июня 2010

Чтобы создать новую ветку на пульте, вы можете создать ее, нажав на новую ссылку.Например,

git push origin search_refactor:refs/heads/design_refactor

Это приводит к тому, что состояние локальной ветви search_refactor переходит в состояние новой удаленной ветви design_refactor.

IIRC, вам нужно refs/heads, чтобы обойти проверку безопасности этой мерзавцытребуется, чтобы ветвь уже существовала или чтобы вы выдвигали соответствующую именованную локальную ветвь.

Если вы хотите использовать состояние remote search_refactor ветки, без каких-либо изменений, которые выв вашей локальной ветке search_refactor вы можете использовать:

git push origin origin/search_refactor:refs/heads/design_refactor

После того, как вы это сделаете, вы можете оформить новую локальную ветку на основе удаленной ветки.

git checkout -b design_refactor origin/design_refactor

(Я просто предположил, что ваш главный пульт называется origin.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...