Git diz tudo de acordo
-
21-09-2019 - |
Pergunta
Eu tenho começos que estão em um repositório remoto (origem/mestre) que quero colocar em uma filial criada a partir desse repositório (origem/remote_branch).
Quando eu faço o check -out para aquela filial remota
git checkout -b mybranch origin/remote_branch
Então escolheu as começões que fiz
git cherry-pick 9df63616b0428cf6edc4261adb533a1ac516b9a0
Git diz tudo de acordo quando tento empurrar.
git push
Há algo que estou fazendo de errado?
Solução
Dependendo da sua versão do Git, pode estar tentando empurrar ramos com nomes correspondentes, ou seja, master
para origin/master
e remote_branch
para origin/remote_branch
. Se o seu repositório de origem não tiver um ramo chamado mybranch
Então ele acha que não há nada para atualizar.
Para substituir esse padrão, você pode dizer explicitamente a git qual ramo usar como fonte (mybranch
) e qual usar como destino no repositório remoto (remote_branch
):
git push origin mybranch:remote_branch
Há uma opção de configuração para dizer ao Git para pressionar para ramificações de rastreamento remoto por padrão:
git config --global push.default tracking
Acho isso mais intuitivo e acho que é o comportamento que você está procurando. Confira o push.default
opção no Página do Git Config Man. Também consulte a seção Exemplos no página git push man Para ver como substituir o comportamento padrão.