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 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 remota origin/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
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.
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-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
Se 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.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)