Qual é o propósito do git acompanhamento de ramos?
-
12-11-2019 - |
Pergunta
Eu criei um acompanhamento de ramo para whowasout.com controladas whowasout.com/master
$ git remote -v
origin git@github.com:venkatd/whowentout.git (fetch)
origin git@github.com:venkatd/whowentout.git (push)
whowasout.com git@git01.phpfog.com:whowasout.com (fetch)
whowasout.com git@git01.phpfog.com:whowasout.com (push)
$ git branch -vv
master c33b5dc [origin/master] Merge branch 'whowasout.com'
* whowasout.com 7b6b240 [whowasout.com/master: ahead 1] print statement in test.
php
Quando eu cometer algumas alterações no whowasout.com ramo e executar "git push", o mestre é empurrado para a origem/o mestre.É este o comportamento esperado?Eu estava esperando whowasout.com para empurrar para whowasout.com/master.
Para levar minha mudança, eu actualmente tipo "git push whowasout.com whowasout.com:master" mas eu pensei rastreamento seria tornar esse processo mais rápido.Estou no caminho certo?
Solução
Você terá que fazer:
git push whowasout.com whowasout.com:master
Isso é porque whowasout.com
não tem um ramo whowasout.com
e você não quer um.O que você realmente quer é empurrar whowasout.com filial no local de mestre em whowasout.com remoto, que tem de ser feito como descrito acima.
Para obter o comportamento que você deseja para que apenas git push
empurra a partir de whowasout.com ramo no local para mestre no controle remoto, você tem que definir o push.default
config para upstream
( anteriormente denominada tracking
)
git config push.default upstream
Note que você tem que fazer isso porque, por padrão, o rastreamento ramos são úteis no controlo a montante do ramo quando você está fazendo buscar / puxar.Quando você alterar o push.default
definição, ela entra em jogo na empurrar bem.Caso contrário, aperte só empurra a correspondência de refs, eu.e whowasout.com ramo será empurrado para whowasout.com ramo remoto whowasout.com.