Respuestas:
Puede hacer referencia a esas ramas de seguimiento remoto ~ (enumeradas con git branch -r) con el nombre de su control remoto.
Debe buscar la rama remota:
git fetch origin aRemoteBranch
Si desea fusionar una de esas sucursales remotas en su sucursal local:
git checkout master
git merge origin/aRemoteBranch
Nota 1: Para un repositorio grande con un historial largo, querrás agregar la --depth=1opción cuando la uses git fetch.
Nota 2: estos comandos también funcionan con otros repositorios remotos para que pueda configurar un originy un upstreamsi está trabajando en una bifurcación.
Escenario opuesto: si desea fusionar una de sus sucursales locales en una sucursal remota (en lugar de una sucursal remota en una sucursal local, como se muestra arriba), primero debe crear una nueva sucursal local encima de dicha sucursal remota:
git checkout -b myBranch origin/aBranch
git merge anotherLocalBranch
La idea aquí es fusionar "una de su sucursal local" (aquí anotherLocalBranch) con una sucursal remota ( origin/aBranch).
Para eso, crea primero " myBranch" como representación de esa rama remota: esa es la git checkout -b myBranch origin/aBranchparte.
Y luego puedes fusionarte anotherLocalBranch(a myBranch).
aLocalBranch" a " myBranch", con " myBranch" representando una sucursal remota origin/aBranch.
aLocalBranchque no es un error tipográfico, pero aprobó la última edición (¡2 años después!) Que corrige este "error tipográfico probable". Quería consultar con usted antes de deshacer la edición.
Cada vez que hago una fusión, entro en la rama en la que quiero fusionarme (por ejemplo, " git checkout branch-i-am-working-in") y luego hago lo siguiente:
git merge origin/branch-i-want-to-merge-from
git fetch origin/branch-i-want-to-merge-fromprimero, ¿verdad?
git fetch origin developseguido degit merge origin/develop
git merge solo no lo hará.
git add .-> git commit -m <message>-> git push -u origin <branch>?
Obtenga la rama remota desde el origen primero.
git fetch origin remote_branch_name
Fusionar la sucursal remota con la sucursal local
git merge origin/remote_branch_name
Tal vez desee rastrear la sucursal remota con una sucursal local:
git branch new-local-branchgit branch --set-upstream-to=origin/remote-branch new-local-branchgit checkout new-local-branchgit pullSi ya buscó su rama remota y lo hace git branch -a,
obtendrá algo como:
* 8.0
xxx
remotes/origin/xxx
remotes/origin/8.0
remotes/origin/HEAD -> origin/8.0
remotes/rep_mirror/8.0
Después de eso, puede usar rep_mirror/8.0para designar localmente su sucursal remota.
El truco es que remotes/rep_mirror/8.0no funciona pero rep_mirror/8.0sí.
Entonces, un comando como git merge -m "my msg" rep_mirror/8.0hacer la fusión.
(nota: este es un comentario a la respuesta @VonC. Lo puse como otra respuesta porque los bloques de código no se ajustan al formato del comentario)