He sacado todas las ramas remotas a través de git fetch --all
. Puedo ver la rama a través de la cual me gustaría fusionar git branch -a
como remotes / origin / branchname. El problema es que no es accesible. ¿No puedo fusionarme o pagar?
fuente
He sacado todas las ramas remotas a través de git fetch --all
. Puedo ver la rama a través de la cual me gustaría fusionar git branch -a
como remotes / origin / branchname. El problema es que no es accesible. ¿No puedo fusionarme o pagar?
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=1
opción cuando la uses git fetch
.
Nota 2: estos comandos también funcionan con otros repositorios remotos para que pueda configurar un origin
y un upstream
si 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/aBranch
parte.
Y luego puedes fusionarte anotherLocalBranch
(a myBranch
).
aLocalBranch
" a "myBranch
", con "myBranch
" representando una sucursal remotaorigin/aBranch
.aLocalBranch
que 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
fuente
git fetch origin/branch-i-want-to-merge-from
primero, ¿verdad?git fetch origin develop
seguido 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.
Fusionar la sucursal remota con la sucursal local
fuente
Tal vez desee rastrear la sucursal remota con una sucursal local:
git branch new-local-branch
git branch --set-upstream-to=origin/remote-branch new-local-branch
git checkout new-local-branch
git pull
fuente
Si ya buscó su rama remota y lo hace
git branch -a
,obtendrá algo como:
Después de eso, puede usar
rep_mirror/8.0
para designar localmente su sucursal remota.El truco es que
remotes/rep_mirror/8.0
no funciona perorep_mirror/8.0
sí.Entonces, un comando como
git merge -m "my msg" rep_mirror/8.0
hacer 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)
fuente