ver una todas remotas remota ramas rama las especifica eliminar clonar cambiar git git-branch git-clone

todas - ¿Cómo clonar una rama Git específica?



ver ramas git (7)

Aquí hay una manera muy simple de hacerlo :)

Clonar el repositorio

git clone <repository_url>

Listar todas las ramas

git branch -a

Revisa la sucursal que quieras.

git checkout <name_of_branch>

Esta pregunta ya tiene una respuesta aquí:

El clon de Git se comportará copiando la rama de trabajo actual remota en local.

¿Hay alguna forma de clonar una rama específica sin cambiar de rama en el repositorio remoto?


Cree una rama en el sistema local con ese nombre. por ejemplo, digamos que desea obtener la rama llamada "branch-05142011"

git branch branch-05142011 origin/branch-05142011

Le dará un mensaje como: "Branch branch-05142011 configurado para rastrear la sucursal remota-05142011 desde el origen".

Ahora solo revisa la rama como abajo y tienes el código -
git checkout branch-05142011


Para clonar una rama sin buscar otras ramas:

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


Por favor, vea también la otra respuesta que muchas personas prefieren.

También es posible que desee asegurarse de entender la diferencia, a diferencia de la mayoría de los comentaristas enojados y los que votan a la baja. Y la diferencia es: al invocar git clone -b branch url , estás recogiendo todas las ramas y comprobando una. Esto puede significar, por ejemplo, que su repositorio tiene una documentación de 5kB o una rama wiki y una rama de datos de 5GB. Y cuando quiera editar su página de inicio, puede terminar clonando 5GB de datos.

Una vez más, eso no quiere decir que git clone -b no sea la forma de lograrlo, es solo que no siempre es lo que quieres lograr cuando estás preguntando sobre la clonación de una rama específica.

La respuesta que escribiría hoy, con el git de hoy en mente sería

git clone --single-branch -b branch host:/dir.git

Al momento de escribir la respuesta original a continuación, git no tenía la --single-branch , pero --single-branch para la plena satisfacción de las abejas enojadas.

La respuesta tan desagradable para los copypasters fue esta:

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


git --branch <branchname> <url>

Pero la finalización de bash no recibe esta clave: --branch

Disfrutar.


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 rama basada en mi rama enum-account-number, hago:

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

Después de pulsar regresar, 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

"


git clone -b <branch> <remote_repo>

Ejemplo:

git clone -b my-branch [email protected]:user/myproject.git

Con Git 1.7.10 y versiones posteriores, agregue --single-branch para evitar la obtención de todas las sucursales. Ejemplo, con rama OpenCV 2.4:

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