Git-kloon zal zich gedragen door de huidige werkende vertakking op afstand naar lokaal te kopiëren.
Is er een manier om zelf een specifieke vertakking te klonen zonder van vertakking te wisselen in de externe repository?
Antwoord 1, autoriteit 100%
git clone --single-branch --branch <branchname> <remote-repo>
De optie --single-branch
is geldig vanaf versie 1.7.10en hoger.
Zie ook het andere antwoordwaar veel mensen de voorkeur aan geven.
Misschien wil je er ook voor zorgen dat je het verschil begrijpt. En het verschil is: door git clone --branch <branchname> url
je haalt allebranches op en checkt er één uit. Dat kan bijvoorbeeld betekenen dat uw repository een documentatie- of wikitak van 5 kB en een datatak van 5 GB heeft. En wanneer u uw voorpagina wilt bewerken, kunt u uiteindelijk 5 GB aan gegevens klonen.
Nogmaals, dat wil niet zeggen dat git clone --branch
niet de manier is om dat te bereiken, het is alleen dat het niet altijdis wat je wilt bereiken, wanneer je vraagt over het klonen van een specifieke branch.
Antwoord 2, autoriteit 97%
git clone -b <branch> <remote_repo>
Voorbeeld:
git clone -b my-branch [email protected]:user/myproject.git
Met Git 1.7.10 en hoger, voeg --single-branch
toe om te voorkomen dat alle branches worden opgehaald. Voorbeeld, met OpenCV 2.4-tak:
git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
Antwoord 3, autoriteit 15%
Hier is een heel eenvoudige manier om het te doen 🙂
Kloon de repository
git clone <repository_url>
Alle vestigingen weergeven
git branch -a
Bekijk het filiaal dat u zoekt
git checkout <name_of_branch>
Antwoord 4, autoriteit 12%
Een vertakking klonen zonderandere vertakkingen op te halen:
mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
Antwoord 5, autoriteit 6%
git checkout -b <branch-name> <origin/branch_name>
bijvoorbeeld in mijn geval:
git branch -a
* master
origin/HEAD
origin/enum-account-number
origin/master
origin/rel_table_play
origin/sugarfield_customer_number_show_c
Dus om een nieuw filiaal aan te maken op basis van mijn enum-account-nummer-filiaal doe ik:
git checkout -b enum-account-number origin/enum-account-number
Nadat je op Return hebt gedrukt, gebeurt het volgende:
Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number"
Antwoord 6, autoriteit 2%
Maak een vertakking op het lokale systeem met die naam. bijv. stel dat je de branch met de naam branch-05142011
wilt krijgen
git branch branch-05142011 origin/branch-05142011
Je krijgt een bericht:
$ git checkout --track origin/branch-05142011
Branch branch-05142011 set up to track remote branch refs/remotes/origin/branch-05142011.
Switched to a new branch "branch-05142011"
Kijk nu gewoon naar het filiaal zoals hieronder en je hebt de code
git checkout branch-05142011
Antwoord 7
git --branch <branchname> <url>
Maar bash-voltooiing krijgt deze sleutel niet: --branch