Respostas:
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 origine 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/aBranchparte.
E então você pode mesclar anotherLocalBrancha ele (a myBranch).
aLocalBranch" a " myBranch", com " myBranch" representando uma filial remota origin/aBranch.
aLocalBranchnã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
git fetch origin/branch-i-want-to-merge-fromprimeiro, certo?
git fetch origin developseguido 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.
git fetch origin remote_branch_name
Mesclar a filial remota à filial local
git merge origin/remote_branch_name
Talvez você queira rastrear a filial remota com uma filial local:
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullSe você já buscou sua ramificação remota e
obtém git branch -a,
obtém algo como:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Depois disso, você pode usar rep_mirror/8.0 para designar localmente sua filial remota.
O truque é que remotes/rep_mirror/8.0nã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)