Eu puxei todas as ramificações remotas via git fetch --all
. Eu posso ver o ramo que eu gostaria de mesclar git branch -a
como controles remotos / origem / nome da filial. O problema não é acessível. Não consigo mesclar ou fazer checkout?
fonte
Eu puxei todas as ramificações remotas via git fetch --all
. Eu posso ver o ramo que eu gostaria de mesclar git branch -a
como controles remotos / origem / nome da filial. O problema não é acessível. Não consigo mesclar ou fazer checkout?
Você pode fazer referência a esses ramos de rastreamento remoto ~ (listados com git branch -r
) com o nome do controle remoto.
Você precisa buscar a ramificação remota:
git fetch origin aRemoteBranch
Se você deseja mesclar uma dessas ramificações remotas em sua ramificação local:
git checkout master
git merge origin/aRemoteBranch
Nota 1: para um repositório grande com um longo histórico, você deseja adicionar o--depth=1
opção ao usá-lo git fetch
.
Nota 2: esses comandos também funcionam com outros repositórios remotos para que você possa configurar um origin
e umupstream
se estiver trabalhando em um fork.
Cenário oposto: se você deseja mesclar uma filial local em uma filial remota (em oposição a uma filial remota por uma local, como mostrado acima), é necessário criar uma nova filial local sobre a filial remota primeiro:
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
A idéia aqui é mesclar "um de seu ramo local" (aqui anotherLocalBranch
) para um ramo remoto ( origin/aBranch
).
Para isso, você cria primeiro " myBranch
" como representando esse ramo remoto: essa é a git checkout -b myBranch origin/aBranch
parte.
E então você pode mesclar anotherLocalBranch
a ele (a myBranch
).
aLocalBranch
" a "myBranch
", com "myBranch
" representando uma filial remotaorigin/aBranch
.aLocalBranch
não é um erro de digitação, mas aprovou a edição mais recente (2 anos depois!) Que corrige esse "erro de digitação provável". Eu queria verificar com você antes de desfazer a edição.Sempre que faço uma mesclagem, entro na ramificação na qual quero mesclar (por exemplo, "
git checkout branch-i-am-working-in
") e depois faço o seguinte:git merge origin/branch-i-want-to-merge-from
fonte
git fetch origin/branch-i-want-to-merge-from
primeiro, certo?git fetch origin develop
seguido porgit merge origin/develop
git merge
sozinho não vai fazer isso.git add .
->git commit -m <message>
->git push -u origin <branch>
?Busque a ramificação remota da origem primeiro.
Mesclar a filial remota à filial local
fonte
Talvez você queira rastrear a filial remota com uma filial local:
git branch new-local-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
fonte
Se você já buscou sua ramificação remota e obtém
git branch -a
,obtém algo como:
Depois disso, você pode usar
rep_mirror/8.0
para designar localmente sua filial remota.O truque é que
remotes/rep_mirror/8.0
não funciona, masrep_mirror/8.0
funciona.Então, um comando como
git merge -m "my msg" rep_mirror/8.0
fazer a mesclagem.(observação: este é um comentário para a resposta do @VonC. Coloquei como outra resposta porque os blocos de código não se encaixam no formato do comentário)
fonte