¿Cómo descargar una rama con git?

Resuelto Andrew asked hace 14 años • 11 respuestas

Tengo un proyecto alojado en GitHub. Creé una rama en una computadora y luego envié mis cambios a GitHub con:

git push origin branch-name

Ahora estoy en una computadora diferente y quiero descargar esa rama. Entonces lo intenté:

git pull origin branch-name

...pero todo lo que esto hizo fue sobrescribir mi rama maestra con los cambios en mi nueva rama.

¿Qué debo hacer para extraer correctamente mi rama remota, sin sobrescribir las ramas existentes?

Andrew avatar Feb 19 '10 12:02 Andrew
Aceptado

Gracias a una pregunta relacionada , descubrí que necesito "comprar" la sucursal remota como una nueva sucursal local y especificar un nuevo nombre de sucursal local.

git checkout -b newlocalbranchname origin/branch-name

O puedes hacer:

git checkout -t origin/branch-name

Este último creará una rama que también está configurada para rastrear la rama remota.


Actualización: han pasado 5 años desde que publiqué esta pregunta originalmente. He aprendido mucho y git ha mejorado desde entonces. Mi flujo de trabajo habitual es un poco diferente ahora.

Si quiero recuperar las ramas remotas, simplemente ejecuto:

git pull

Esto buscará todas las ramas remotas y fusionará la rama actual. Mostrará una salida similar a esta:

From github.com:andrewhavens/example-project
   dbd07ad..4316d29  master     -> origin/master
 * [new branch]      production -> origin/production
 * [new branch]      my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.

Ahora git sabe acerca de mi nuevo my-bugfix-branch. Para cambiar a esta rama, simplemente puedo ejecutar:

git checkout my-bugfix-branch

Normalmente, necesitaría crear la rama antes de poder verificarla, pero en las versiones más nuevas de git, es lo suficientemente inteligente saber que desea obtener una copia local de esta rama remota.

Andrew avatar Feb 19 '2010 06:02 Andrew

Para cualquier novato en Git como yo, aquí hay algunos pasos que puede seguir para descargar un repositorio remoto y luego cambiar a la rama que desea ver. Probablemente abusan de Git de alguna manera, ¡pero a mí me sirvió! :-)

Clona el repositorio para el que deseas descargar el código (en este ejemplo, elegí el proyecto LRResty en Github):

$ git clone https://github.com/lukeredpath/LRResty.git
$ cd LRResty

Verifique qué rama está utilizando en este momento (debería ser la rama maestra):

$ git branch    
* master

Consulta la rama que quieras, en mi caso se llama 'arcificada':

 $ git checkout -b arcified origin/arcified
 Branch arcified set up to track remote branch arcified from origin.
 Switched to a new branch 'arcified'

Confirme que ahora está utilizando la sucursal que deseaba:

$ git branch    
* arcified
  master

Si desea actualizar el código nuevamente más tarde, ejecute git pull:

$ git pull
Already up-to-date.
Dan J avatar Apr 14 '2012 19:04 Dan J

puedes usar :

git clone <url> --branch <branch>

para clonar/descargar solo el contenido de la rama.

Esto fue especialmente útil para mí, ya que el contenido de mi rama era completamente diferente del de la rama maestra (aunque este no suele ser el caso). Por lo tanto, las sugerencias enumeradas anteriormente por otros no me ayudaron y terminaría obteniendo una copia del maestro incluso después de revisar la rama e hacer un git pull.

Este comando le brindará directamente el contenido de la rama. Funcionó para mí.

Old Markus avatar Jul 09 '2018 17:07 Old Markus

Podrías usar git remoto como:

git fetch origin

y luego configure una sucursal local para rastrear la sucursal remota como se muestra a continuación:

git branch --track [local-branch-name] origin/remote-branch-name

Ahora tendría el contenido de la rama remota de github en el nombre de la rama local.

Podrías cambiar a ese nombre de sucursal local y comenzar a trabajar:

git checkout [local-branch-name]
ardsrk avatar Feb 19 '2010 05:02 ardsrk

Navegue hasta la carpeta en su nueva máquina que desea descargar desde git en git bash.

Utilice el siguiente comando para descargar el código de cualquier rama que desee

git clone 'git ssh url' -b 'Branch Name'

Descargará el código de sucursal respectivo.

Srikanta Sahoo avatar Sep 07 '2017 13:09 Srikanta Sahoo