Comment cloner une branche Git spécifique? [dupliquer]
cette question a déjà une réponse ici:
- comment cloner une seule branche dans Git? 14 réponses
git clone se comporte copier branche de travail à distance courant dans local.
est - il possible de cloner une branche spécifique par moi-même sans commutation branches sur le dépôt à distance?
7 réponses
s'il vous Plaît voir aussi le autre réponse , qui beaucoup de gens préfèrent.
vous pouvez également vouloir vous assurer de comprendre la différence, contrairement à la majorité des commentateurs en colère et des downvoters. Et la différence est: en invoquant git clone -b branch url
vous allez chercher tous les branches et de vérifier un. Cela peut, par exemple, signifier que votre dépôt a une documentation de 5kB ou une branche wiki et une branche de données de 5GB. Et à chaque fois que vous voulez éditer votre page d'accueil, vous pouvez finir par cloner 5 Go de données.
encore une fois, c'est-à-dire ne pas dire git clone -b
n'est pas la façon d'accomplir cela, c'est juste que ce n'est pas toujours ce que vous voulez accomplir, quand vous demandez à propos du clonage d'une branche spécifique.
la réponse que j'écrirais aujourd'hui, en pensant au git d'aujourd'hui serait
git clone --single-branch -b branch host:/dir.git
au moment de la rédaction de la réponse originale ci-dessous, git n'avait pas d'option --single-branch
, mais préservons-la pour la pleine satisfaction des abeilles en colère.
la réponse tant détestée par les copypasters était ceci:
git init
git remote add -t refspec remotename host:/dir.git
git fetch
git clone -b <branch> <remote_repo>
exemple:
git clone -b my-branch git@github.com:user/myproject.git
avec le Git 1.7.10 et plus tard, ajouter --single-branch
pour prévenir l'extraction de toutes les branches. Exemple, avec OpenCV 2.4 branche:
git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
Pour cloner une branche sans chercher d'autres branches:
mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
Voici une façon très simple de le faire:)
cloner le dépôt
git clone <repository_url>
Liste de toutes les branches
git branch -a
la Caisse de la branche que vous voulez
git checkout <name_of_branch>
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-numéro de compte je fais:
git checkout -b enum-account-number origin/enum-account-number
après que vous avez appuyé sur le 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
"
créer 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 vous donnera un message comme -" Branch branch-05142011 configuré pour suivre la branche éloignée-05142011 de l'origine."
maintenant il suffit de vérifier la branche comme ci-dessous et vous avez le code -
git checkout branch-05142011
git --branch <branchname> <url>
mais l'achèvement bash ne reçoivent pas cette clé: --branch
de Profiter de.