Hvordan kloner jeg en spesifikk Git-gren?
Git-klone vil oppføre seg ved å kopiere ekstern nåværende arbeidsgren til lokal.
Er det noen måte å klone en bestemt gren av meg selv uten å bytte grener på det eksterne depotet?
2764
3
Eksempel:
Med Git 1.7.10 og nyere, legg til
--single-branch
for å forhindre henting av alle grener. Eksempel, med OpenCV 2.4-gren:Alternativet
--single-branch
er gyldig fra versjon 1.7.10 og senere.Se også annet svar som mange foretrekker.
Det kan også være lurt å forsikre seg om at du forstår forskjellen. Og forskjellen er: ved å påkalle
git clone --branch url
henter du alle grenene og sjekker ut en. Det kan for eksempel bety at depotet ditt har en dokumentasjons- eller wiki-gren på 5 kB og en datagren på 5 GB. Og når du vil redigere forsiden din, kan du ende opp med å klone 5 GB med data.Igjen, det er ikke å si at
git clone --branch
ikke er måten å oppnå det på, det er bare at det ikke alltid er det du ønsker å oppnå, når du spør om å klone en spesifikk gren.På tidspunktet for å skrive det opprinnelige svaret nedenfor, git hadde ingen
--single-branch
alternativ, men la' s bevare det for full tilfredsstillelse av sinte bier.Svaret så dårlig mislikt av copypasters var dette:
Opprett en filial i det lokale systemet med dette navnet, f.eks. la oss si at du vil ha en filial med navnet "filial-05142011".
git gren gren-05142011 opprinnelse/gren-05142011
Det' vil gi deg en melding som - "Gren gren-05142011 satt opp for å spore ekstern gren gren-05142011 fra opprinnelse."
Nå er det bare å sjekke ut grenen som nedenfor, og du har koden -
git checkout branch-05142011