Tengo un proyecto con múltiples ramas. He estado empujando a GitHub, y ahora que alguien más está trabajando en el proyecto que necesito para tirar de sus ramas de GitHub. Funciona bien en el maestro. Pero digamos que alguien creó una rama xyz
. ¿Cómo puedo extraer la rama xyz
de GitHub y fusionarla con la rama xyz
en mi localhost
?
En realidad tengo mi respuesta aquí: https://stackoverflow.com/questions/1072261/push-and-pull-branches-in-git
¡Pero me da un error "! [rechazado]" y algo sobre "no avance rápido".
¿Alguna sugerencia?
Simplemente rastrea tus ramas remotas explícitamente y un simple git pull
hará justo lo que quieres:
git branch -f remote_branch_name origin/remote_branch_name
git checkout remote_branch_name
Esto último es una operación local.
O más bien encaja con la documentación de GitHub sobre la bifurcación:
git branch -f new_local_branch_name upstream/remote_branch_name
Puedes tirar de una rama a otra rama con los siguientes comandos.
git pull {repo} {remotebranchname}:{localbranchname}
git pull origin xyz:xyz
Cuando estás en la rama maestra también podrías primero hacer checkout de una rama como:
git checkout -b xyz
Esto crea una nueva rama, "xyz", desde el maestro y directamente lo comprueba.
Entonces lo hace:
git pull origin xyz
Esto tira de la nueva rama a su rama local xyz
.
No estoy seguro de entender del todo el problema, pero tirar de una rama existente se hace así (al menos a mí me funciona :)
git pull origin BRANCH
Esto es asumiendo que su rama local se crea a partir del origen/BRANCH.