git-klon

Her undersøger vi kommandoen git clone i dybden. git clone er et Git-kommandolinjeværktøj, der bruges til at målrette et eksisterende arkiv og oprette en klon eller kopi af målarkivet. På denne side diskuterer vi udvidede konfigurationsindstillinger og almindelige brugssager af git clone., Nogle punkter, som vi vil dække her er:

  • Kloning en lokal eller remote repository
  • Kloning et absolut repository
  • ved Hjælp af overfladisk muligheder for delvist at klone arkiver
  • Git WEBADRESSE-syntaks og understøttede protokoller

Om at oprette et depot guide, vi dækket en basal use case af git clone. Denne side vil udforske mere komplekse kloning og konfiguration scenarier.,

formål: repo-til-repo samarbejdsudviklingskopi

Hvis et projekt allerede er oprettet i et centralt lager, er kommandoengit clone den mest almindelige måde for brugere at få en udviklingskopi på. Ligesom git init er kloning generelt en engangsoperation. Når en udvikler har fået en arbejdskopi, styres alle versionskontroloperationer og samarbejder gennem deres lokale arkiv.,

Repo-til-repo-samarbejde

det er vigtigt at forstå, at Gits ID.om en “arbejdskopi” er meget forskellig fra den arbejdskopi, du får ved at tjekke kode fra et SVN-arkiv. I modsætning til SVN skelner Git ikke mellem arbejdskopien og det centrale arkiv—de er alle fuldgyldige Git-arkiver.

Dette gør samarbejdet med Git fundamentalt anderledes end med SVN. Mens SVN afhænger af forholdet mellem det centrale lager og arbejdskopien, er Gits samarbejdsmodel baseret på repository-to-repository-interaktion., I stedet for at kontrollere en arbejdskopi i SVN centrale repository, du skubbe eller trække begår fra et arkiv til et andet.

selvfølgelig er der intet, der forhindrer dig i at give visse Git repos særlig betydning. For eksempel ved blot at udpege en Git repo som det “centrale” Depot, er det muligt at replikere en centraliseret arbejdsgang ved hjælp af Git. Pointen er, dette opnås gennem konventioner snarere end at blive hard .ired ind i VCS selv.,

brug

git clone bruges primært til at pege på en eksisterende repo og lave en klon eller kopi af den repo i en ny mappe, på et andet sted. Den oprindelige repository kan være placeret på den lokale filsystem eller på fjerntliggende maskine tilgængelige understøttede protokoller. Kommandoen git clone kopierer et eksisterende Git-arkiv. Denne er slags som SVN checkout, bortset fra “working copy” er et fuldgyldigt Git repository—det har sin egen historie, administrerer sine egne filer, og er en fuldstændig isoleret miljø, fra det oprindelige arkiv.,

som en bekvemmelighed opretter kloning automatisk en fjernforbindelse kaldet “oprindelse”, der peger tilbage til det originale arkiv. Dette gør det meget nemt at interagere med en central repository. Dette automatisk forbindelsen er etableret ved at skabe Git refs til remote branch hoveder under refs/remotes/origin og ved initialisering remote.origin.url og remote.origin.fetch konfiguration variabler.

et eksempel, der demonstrerer ved hjælp af git clone kan findes i opsætningen af en repository guide., Eksemplet nedenfor viser, hvordan du kan få en lokal kopi af en central database, der er gemt på en server, der er tilgængelig på example.com brug af SSH username john:

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

Den første kommando initialiserer en ny Git repository i my-project mappe på din lokale maskine, og udfylder det med indholdet af den centrale database. Derefter kan du cd ind i projektet og begynde at redigere filer, begå snapshots og interagere med andre arkiver., Bemærk også, at udvidelsen.git udelades fra det klonede arkiv. Dette afspejler den lokale kopis ikke-blotte status.

Kloning til en bestemt mappe

git clone <repo> <directory>

Klon lageret er placeret i <repo> i den mappe der hedder ~<directory>! på den lokale maskine.

Kloning et specifikt tag

git clone --branch <tag> <repo>

Klon lageret er placeret i <repo> og kun klone ref for <tag>.,

Lavvandede klon

git clone -depth=1 <repo>

Klon lageret er placeret i <repo> og kun klon
historien om forpligter angivet af den indstilling, dybde=1. I dette eksempel laves en klon af <repo>, og kun den seneste commit er inkluderet i den nye klonede Repo. Shallo.kloning er mest nyttigt, når du arbejder med repos, der har en omfattende begå historie. En omfattende begå historie kan forårsage skalering problemer såsom diskplads forbrug grænser og lange ventetider, når kloning., En lav klon kan hjælpe med at afhjælpe disse skaleringsproblemer.

Konfigurations-indstillinger

git clone -filial

-branch argument kan du angive en specifik gren til at klone i stedet for den gren fjernbetjeningen HEAD peger på, normalt master-branch. Derudover kan du passere et tag i stedet for gren for den samme effekt.

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

dette ovenstående eksempel ville kun klone new_feature filialen fra det eksterne Git-arkiv., Dette er rent et overbevisende værktøj for at spare dig tid fra at do .nloade HEAD ref i depotet og derefter at skulle hente den ref, du har brug for.

git clone -spejl vs. git clone -bare

git clone –bare

der Ligner git init --bare, når -bare argument er gået til git clone, en kopi af den eksterne arkiv vil blive lavet med en udeladt working directory., Dette betyder, at der oprettes et arkiv med projektets historie, der kan skubbes og trækkes fra, men ikke kan redigeres direkte. Derudover vil ingen eksterne grene til repo blive konfigureret med-bare repository. Som git init --bare, dette bruges til at oprette et hostet arkiv, som udviklere ikke Redigerer direkte.

git clone –spejl

Passerer --mirror argument implicit passerer --bare argument så godt., Dette betyder, at opførslen af --bare er arvet af --mirror. Resulterer i en nøgne repo uden redigerbare arbejdsfiler. Desuden --mirror vil klone alle de udvidede refs af den eksterne repository, og opretholde remote gren sporing konfiguration. Du kan derefter køre git remote opdatering på spejlet, og det vil overskrive alle refs fra origin repo. Giver dig præcis ‘spejlet’ funktionalitet.,

andre konfigurationsindstillinger

For en omfattende liste over andre Git-kloneindstillinger, besøg den officielle Git-dokumentation. I dette dokument berører vi nogle andre almindelige muligheder.

git clone –skabelon

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

Kloner repo på <repo location> og anvender den skabelon fra <template directory> for at den nyoprettede lokale afdeling. En grundig refrence på Git skabeloner kan findes på vores git init side.,

Git-Urebadresser

Git har sin egen URL-syntaks, der bruges til at overføre eksterne opbevaringssteder til Git-kommandoer. Fordi git clone bruges mest på eksterne arkiver, vil vi undersøge Git URL-syntaks her.

Git URL-protokoller

– SSH

Secure Shell (SSH) er en allestedsnærværende autentificeret netværksprotokol, der normalt konfigureres som standard på de fleste servere. Da SSH er en godkendt protokol, skal du oprette legitimationsoplysninger med hosting-serveren, før du opretter forbindelse., ssh://host.xz/path/to/repo.git/

– GIT

– HTTP

Hyper text transfer protocol. Protokollen af internettet, mest almindeligt anvendt til overførsel af HEBSIDE HTML-data over Internettet. Git kan konfigureres til at kommunikere via HTTP

resum.

i dette dokument tog vi et dybt kig pågit clone. De vigtigste takea .ays er:
git clone bruges til at oprette en kopi af et mål repo

2. Målet repo kan være lokal eller fjern

3. Git understøtter et par netværksprotokoller til at oprette forbindelse til eksterne repos

4., Der er mange forskellige konfigurationsindstillinger tilgængelige, der ændrer indholdet af klonen

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Videre til værktøjslinje