Question Comment cloner une branche Git spécifique? [dupliquer]


Cette question a déjà une réponse ici:

Git clone se comportera en copiant la branche de travail à distance en local.

Existe-t-il un moyen de cloner moi-même une branche spécifique sans changer de branche sur le dépôt distant?


2088
2017-12-15 23:06


origine


Réponses:


S'il vous plaît voir aussi autre réponse que beaucoup de gens préfèrent.

Vous pouvez également vouloir vous assurer que vous comprenez la différence, contrairement à la majorité des commentateurs et des downvoters en colère. Et la différence est: en invoquant git clone -b branch url vous allez chercher tout les branches et en vérifiant un. Cela peut, par exemple, signifier que votre référentiel dispose d'une documentation de 5 Ko ou d'une branche wiki et d'une branche de données de 5 Go. Et chaque fois que vous voulez éditer votre page d'accueil, vous risquez de cloner 5 Go de données.

Encore une fois, cela ne veut pas dire git clone -b n'est pas le moyen d'accomplir cela, c'est juste que ce n'est pas toujours ce que vous voulez accomplir, quand vous demandez au sujet du clonage d'une branche spécifique.

La réponse que je voudrais écrire aujourd'hui, avec le git d'aujourd'hui à l'esprit serait

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

au moment d'écrire la réponse originale ci-dessous, git n'avait pas --single-branch option, mais conservons-le pour la pleine satisfaction des abeilles en colère.

La réponse que les copypasters ont si mal aimée était la suivante:

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

230
2017-12-15 23:09



git clone -b <branch> <remote_repo>

Exemple:

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

Avec Git 1.7.10 et plus tard, ajoutez --single-branch pour empêcher l'extraction de toutes les branches. Exemple, avec la branche OpenCV 2.4:

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

6660
2017-12-31 05:36



Pour cloner une branche sans pour autant aller chercher d'autres branches:

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

222
2017-09-08 14:34



Voici une façon très simple de le faire :)

Cloner le référentiel

git clone <repository_url>

Liste de toutes les branches

git branch -a 

Commander la branche que vous voulez

git checkout <name_of_branch>

204
2017-07-14 09:42



git checkout -b <branch-name> <origin/branch_name>

par exemple dans mon cas:

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

Donc, pour créer une nouvelle branche basée sur ma branche enum-account-number, je fais:

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

Après avoir frappé retour, ce qui suit arrive:

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

"


68
2017-11-15 19:34



Créez une branche sur le système local avec ce nom. par exemple. dire que vous voulez obtenir la branche nommée "branche-05142011"

git branch branch-05142011 origin/branch-05142011 

Il va vous donner un message comme - "Branch branche-05142011 mis en place pour suivre la branche branche à distance-05142011 d'origine."

Maintenant, il suffit de commander la branche comme ci-dessous et vous avez le code -
git checkout branch-05142011


20
2018-05-15 19:20



git --branch <branchname> <url>

Mais l'achèvement de bash n'obtient pas cette clé: --branch

Prendre plaisir.


11
2017-09-07 10:16