2016-09-19 4 views
0

У меня есть две ветви:Как нажать по умолчанию на другую ветку?

master 
demo_master 

И пультами:

origin 
demo_origin 

Как настроить Git автоматически нажать мастер для происхождения/мастер и demo_master к demo_origin/мастер при выдаче git push команда?


Я пытался достичь желаемого результата с помощью

git push --set-upstream demo_origin demo_master:master 

Однако мерзавец выкладывает следующую ошибку, когда я пытаюсь использовать git push:

со смертельным исходом: вверх по течению ветвь вашей текущей ветви не соответствует имени вашего текущего филиала . Для того, чтобы подтолкнуть к восходящему ветви на пульте дистанционного управления, используйте

git push demo_origin HEAD:master 

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

git push demo_origin demo_master 
+1

'git config push.default upstream' – PetSerAl

ответ

1

Вы должны set the push.default configuration должным образом:

Определяет действие git push следует принять, если не refspec явно не дано. Различные значения хорошо подходят для конкретных рабочих процессов; например, в чисто центральном рабочем процессе (т. е. источник выборки равен целевому назначению), upstream - это, вероятно, то, что вы хотите.

С Git 2.0, этот параметр был установлен в simple по умолчанию, чтобы сделать его легким для начинающих:

simple - в централизованном документооборота, работа как вверх по течению с дополнительной безопасности для отказывающихся толкать, если имя филиала вверх по течению отличается от локального.

При нажатии на пульт дистанционного управления, который отличается от пульта дистанционного управления, вы обычно тянете, работайте как ток. Это самый безопасный вариант и подходит для начинающих.

Как вариант говорит, Git откажется нажать на ветку с другим именем.Для того, чтобы достичь этого, необходимо установить его в upstream:

upstream - нажать текущую ветку обратно в ветви, изменения, как правило, интегрированы в текущую ветвь (которая называется @{upstream}). Этот режим имеет смысл только в том случае, если вы нажимаете тот же репозиторий, из которого вы обычно извлекаете (т. Е. Центральный рабочий процесс).

Итак, сделайте git config -g push.default upstream, а затем он должен отлично работать с git push --set-upstream demo_origin master:demo_master. (обратите внимание, что локальная ветвь приходит в первую очередь в local:remote)

0

На master местного отраслевого использования git push origin -u master и demo_master ответвление git push demo_origin -u master

Другое решение будет использовать git branch -u origin/master от master br anch и git branch -u demo_origin/master от demo_master ветка.

https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches#Tracking-Branches

+0

Я хочу нажать demo_master в demo_origin ** master **. Разве эти команды не соответствуют тому, что я делаю? –

+0

Я думаю, что правильный способ достичь этого с помощью 'set-upstream-to' - это' git branch --set-upstream-to demo_origin/master', когда вы находитесь на ветке demo_master. –

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