git clone (Svenska)

Här kommer vi att undersöka kommandot git clone på djupet. git clone är ett git-kommandoradsverktyg som används för att rikta in ett befintligt förråd och skapa en klon eller kopia av målarkivet. På den här sidan diskuterar vi utökade konfigurationsalternativ och vanliga användningsfall för git clone., Några punkter som vi täcker här är:

  • kloning av ett lokalt eller fjärrförråd
  • kloning av ett tomt förråd
  • användning av grunda alternativ för att delvis klona förråd
  • git-URL-syntax och stödda protokoll

vid upprättandet av en förvarsguide täckte vi ett grundläggande användningsfall förgit clone. Denna sida kommer att utforska mer komplexa kloning och konfigurationsscenarier.,

syfte: repo-to-repo collaboration development copy

om ett projekt redan har installerats i ett centralt förråd är kommandotgit clone det vanligaste sättet för användare att få en utvecklingskopia. Somgit init är kloning i allmänhet en engångsåtgärd. När en utvecklare har fått en fungerande kopia hanteras alla versionskontrolloperationer och samarbeten via deras lokala arkiv.,

Repo-to-repo samarbete

det är viktigt att förstå att Git: s idé om en ”arbetskopia” skiljer sig mycket från den arbetskopia du får genom att kolla in kod från ett SVN-arkiv. Till skillnad från SVN gör Git ingen skillnad mellan arbetskopian och det centrala förvaret—de är alla fullfjädrade Git-förråd.

detta gör samarbetet med Git fundamentalt annorlunda än med SVN. Medan SVN är beroende av förhållandet mellan det centrala arkivet och arbetskopian, baseras Gits samarbetsmodell på interaktion mellan arkiv och arkiv., Istället för att kontrollera en arbetskopia i SVN: s centrala förråd trycker du på eller drar begår från ett förråd till ett annat.

naturligtvis finns det inget som hindrar dig från att ge vissa Git repos speciell betydelse. Till exempel, genom att helt enkelt utse en Git repo som ”central” förvaret, är det möjligt att replikera ett centraliserat arbetsflöde med Git. Poängen är att detta uppnås genom konventioner snarare än att vara svårt in i själva VCS.,

användning

git clone används främst för att peka på en befintlig repo och göra en klon eller kopia av den repo på i en ny katalog, på en annan plats. Det ursprungliga arkivet kan placeras på det lokala filsystemet eller på fjärranslutna maskinåtkomliga protokoll som stöds. Kommandotgit clone kopierar ett befintligt Git-arkiv. Det här är ungefär som SVN-kassan, förutom ”arbetskopian” är ett fullvärdigt Git-förråd—det har sin egen historia, hanterar egna filer och är en helt isolerad miljö från det ursprungliga förvaret.,

som en bekvämlighet skapar kloning automatiskt en fjärranslutning som heter ”ursprung” som pekar tillbaka till det ursprungliga arkivet. Detta gör det väldigt enkelt att interagera med ett centralt förråd. Den här automatiska anslutningen upprättas genom att skapa Git refs till fjärrgrenhuvudena under refs/remotes/origin och genom att initiera remote.origin.url och remote.origin.fetch konfigurationsvariabler.

ett exempel som visar att du användergit clone finns i konfigurationen av en arkivguide., Exemplet nedan visar hur du får en lokal kopia av ett centralt förråd som lagras på en server som är tillgänglig på example.com med hjälp av SSH-användarnamnet john:

git clone ssh://[email protected]/path/to/my-project.git 
cd my-project
# Start working on the project

det första kommandot initierar ett nytt Git-förråd i mappen my-project på din lokala dator och fyller det med innehållet i det centrala förvaret. – herr talman! Sedan kan du cd in i projektet och börja redigera filer, begå ögonblicksbilder och interagera med andra arkiv., Observera också att tillägget.git utelämnas från det klonade förvaret. Detta återspeglar den lokala kopians icke-nakna status.

kloning till en viss mapp

git clone <repo> <directory>

klona arkivet som finns på<repo> I mappen som heter~<directory>! på den lokala maskinen.

klona en specifik tagg

git clone --branch <tag> <repo>

klona arkivet som finns på<repo> och klona bara ref för<tag>.,

Grunt klon

git clone -depth=1 <repo>

klona arkivet som finns på<repo> och klona bara
– historiken för begår som anges av alternativet depth=1. I det här exemplet görs en klon av <repo> och endast den senaste commit ingår i den nya klonade Repo. Grunt kloning är mest användbart när man arbetar med repos som har en omfattande begå historia. En omfattande begå historia kan orsaka skalning problem såsom disk utrymme användningsgränser och långa väntetider vid kloning., En ytlig klon kan hjälpa till att lindra dessa skalningsproblem.

konfigurationsalternativ

git clone-branch

argumentet-branch låter dig ange en specifik gren att klona istället för grenen fjärrkontrollenHEAD pekar på, vanligtvis huvudgrenen. Dessutom kan du skicka en tagg istället för gren för samma effekt.

git clone -branch new_feature git://remoterepository.git

det här exemplet skulle bara klona new_feature – filialen från fjärrgit-arkivet., Detta är rent en övertyga verktyg för att spara tid från att ladda ner HEAD ref av arkivet och sedan behöva dessutom hämta ref du behöver.

git clone-mirror vs. git clone-bare

git clone –bare

liknargit init --bare,när-bareargumentet skickas tillgit clone, en kopia av fjärrförvaret kommer att göras med en utelämnad arbetskatalog., Detta innebär att ett förråd kommer att inrättas med historien om projektet som kan skjutas och dras från, men kan inte redigeras direkt. Dessutom konfigureras inga fjärranslutna grenar för repon med-bare – arkivet. Gilla git init --bare, detta används för att skapa ett värdförråd som utvecklare inte redigerar direkt.

git clone –mirror

skickar--mirrorargumentet implicit passerar--bare argumentet också., Detta innebär att --bare ärvs av --mirror. Resulterar i en bar repo utan redigerbara arbetsfiler. Dessutom kommer --mirror att klona alla utökade refs i fjärrförvaret och upprätthålla fjärr grenspårningskonfiguration. Du kan sedan köragit remote uppdatering på spegeln och det kommer att skriva över alla refs från origin repo. Ger dig exakt ”speglad” funktionalitet.,

andra konfigurationsalternativ

för en omfattande lista över andra git-klonalternativ besök den officiella git-dokumentationen. I det här dokumentet kommer vi att beröra några andra vanliga alternativ.

git clone –template

git clone --template=<template_directory> <repo location>

kloner repo på<repo location> och tillämpar mallen från<template directory> till den nyskapade lokala grenen. En grundlig refrence på GIT mallar kan hittas på vårgit init sida.,

Git-webbadresser

Git har sin egen URL-syntax som används för att skicka fjärrförvarsplatser till Git-kommandon. Eftersom git clone oftast används på fjärrförråd kommer vi att undersöka Git-URL-syntax här.

git URL-protokoll

– ssh

Secure Shell (SSH) är en allestädes närvarande autentiserade nätverksprotokoll som vanligtvis konfigureras som standard på de flesta servrar. Eftersom SSH är ett autentiserat protokoll måste du upprätta referenser med hosting-servern innan du ansluter., ssh://host.xz/path/to/repo.git/

– GIT

– HTTP

Hyper text transfer protocol. Protokollet av webben, som oftast används för att överföra webbsida HTML-data över Internet. Git kan konfigureras för att kommunicera via HTTP

sammanfattning

i det här dokumentet tog vi en djup titt pågit clone. De viktigaste takeaways är:
git clone används för att skapa en kopia av ett mål repo

2. Målrepo kan vara lokal eller fjärr

3. Git stöder några nätverksprotokoll för att ansluta till fjärranslutna repos

4., Det finns många olika konfigurationsalternativ tillgängliga som ändrar innehållet i klonen

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Hoppa till verktygsfältet