934 votos

Clonar una rama específica de Git

El clon de Git se comportará copiando la rama de trabajo de la corriente remota en la local. ¿Hay alguna manera de clonar una rama específica por mí mismo sin cambiar las ramas en el repositorio remoto?

3370voto

git clone -b <branch> <remote_repo>

Ejemplo:

git clone -b my-branch git@github.com:user/myproject.git

Alternativa (no se necesita configuración de clave pública):

git clone -b my-branch https://git@github.com/username/myproject.git

Con Git 1.7.10 y posteriores, añade --single-branch para evitar que se recojan todas las ramas. Ejemplo, con la rama OpenCV 2.4:

git clone -b 2.4 --single-branch https://github.com/Itseez/opencv.git opencv-2.4

158voto

Edmar Miyake Puntos 2645

Para clonar una rama sin buscando otras ramas:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH

114voto

superlogical Puntos 5129

Aquí hay una forma muy simple de hacerlo :)

Clonar el depósito

git clone <repository_url>

Listar todas las ramas

git branch -a 

Comprueba la sucursal que quieres

git checkout <name_of_branch>

102voto

git init
git remote add -t refspec remotename host:/dir.git
git fetch

Pero el IIRC, por defecto el clon recupera todas las ramas de la rama de trabajo remota, no la actual.

27voto

dkinzer Puntos 6339
git checkout -b <branch-name> <origin/branch_name>

por ejemplo en mi caso:

 git branch -a
* master
  origin/HEAD
  origin/enum-account-number
  origin/master
  origin/rel_table_play
  origin/sugarfield_customer_number_show_c

Así que para crear una nueva sucursal basada en mi sucursal de números de cuentas, lo hago:

git checkout -b enum-account-number origin/enum-account-number

Después de que golpees el retorno ocurre lo siguiente:

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number

"

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X