git clone

Hier zullen we het git clone commando in de diepte onderzoeken. git clone is een Git command line utility die wordt gebruikt om een bestaande repository te targeten en een kloon of kopie van de doel repository te maken. Op deze pagina zullen we uitgebreide configuratieopties en veelvoorkomende use cases van git clonebespreken., Enkele punten die we hier zullen behandelen zijn:

  • klonen van een lokale of remote repository
  • klonen van een kale repository
  • gebruikmakend van ondiepe opties om repositories
  • gedeeltelijk te klonen Git URL syntaxis en ondersteunde protocollen

bij het opzetten van een repository guide, hebben we een basic use case behandeld van git clone. Deze pagina zal meer complexe klonen en configuratie scenario ‘ s verkennen.,

doel: repo-naar-repo samenwerkingskopie

als een project al is opgezet in een centrale repository, is het commandogit clone de meest gebruikelijke manier voor gebruikers om een ontwikkelingskopie te verkrijgen. Net als git init, is klonen over het algemeen een eenmalige operatie. Zodra een ontwikkelaar een werkkopie heeft verkregen, worden alle versiebeheer operaties en samenwerkingen beheerd via hun lokale repository.,

repo-naar-repo samenwerking

Het is belangrijk om te begrijpen dat Git ‘ s idee van een “werkkopie” heel anders is dan de werkkopie die je krijgt door de code uit te checken van een SVN repository. In tegenstelling tot SVN maakt Git geen onderscheid tussen de werkkopie en de centrale repository—het zijn allemaal volwaardige Git repositories.

Dit maakt samenwerken met Git fundamenteel anders dan met SVN. Terwijl SVN afhankelijk is van de relatie tussen de centrale repository en de werkkopie, is het samenwerkingsmodel van Git gebaseerd op repository-to-repository interactie., In plaats van een werkkopie in SVN ‘ s centrale repository te controleren, push of pull je commits van de ene repository naar de andere.

natuurlijk is er niets dat je ervan weerhoudt bepaalde Git repo ‘ s een speciale betekenis te geven. Bijvoorbeeld, door simpelweg één Git repo aan te wijzen als de “centrale” repository, is het mogelijk om een gecentraliseerde workflow te repliceren met Git. Het punt is, dit wordt bereikt door conventies in plaats van te worden vastgezet in de VCS zelf.,

Usage

git clone wordt voornamelijk gebruikt om naar een bestaande repo te wijzen en een kloon of kopie van die repo te maken in een nieuwe map, op een andere locatie. De originele repository kan zich bevinden op het lokale bestandssysteem of op remote machine toegankelijke ondersteunde protocollen. Hetgit clone Commando kopieert een bestaande Git repository. Dit is een soort SVN checkout, behalve dat de “werkkopie” een volwaardige Git repository is-het heeft zijn eigen geschiedenis, beheert zijn eigen bestanden, en is een volledig geïsoleerde omgeving van de originele repository.,

voor het gemak maakt klonen automatisch een verbinding op afstand aan, genaamd “origin”, die naar de oorspronkelijke repository verwijst. Dit maakt het heel gemakkelijk om te communiceren met een centrale repository. Deze automatische verbinding wordt tot stand gebracht door Git refs aan te maken op de remote branch heads onder refs/remotes/origin en door remote.origin.url en remote.origin.fetch configuratie variabelen te initialiseren.

een voorbeeld dat het gebruik van git clone demonstreert, kan worden gevonden in de handleiding voor het opzetten van een repository., Het voorbeeld hieronder laat zien hoe je een lokale kopie kunt verkrijgen van een centrale repository die is opgeslagen op een server die toegankelijk is op example.com met behulp van de SSH gebruikersnaam john:

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

het eerste commando initialiseert een nieuwe Git repository in de my-project folder op je lokale machine en vult het met de inhoud van het centrale archief. Dan kun je cd in het project en beginnen met het bewerken van bestanden, het committen van snapshots, en interactie met andere repositories., Merk ook op dat de .git extensie wordt weggelaten uit de gekloonde repository. Dit weerspiegelt de niet-kale status van de lokale kopie.

klonen naar een specifieke map

git clone <repo> <directory>

kloon de repository op <repo>in de map genaamd~<directory>!op de lokale machine.

klonen van een specifieke tag

git clone --branch <tag> <repo>

klonen van de repository op <repo>en alleen klonen van de ref voor<tag>.,

ondiepe kloon

git clone -depth=1 <repo>

kloon de repository op <repo>en klonen alleen de
geschiedenis van commits gespecificeerd door de optie depth=1. In dit voorbeeld wordt een kloon gemaakt van <repo> en wordt alleen de meest recente commit opgenomen in de nieuwe gekloonde Repo. Ondiep klonen is het nuttigst bij het werken met repo ‘ s die een uitgebreide commit historie hebben. Een uitgebreide commit geschiedenis kan schalen problemen veroorzaken zoals schijfruimte gebruikslimieten en lange wachttijden bij het klonen., Een ondiepe kloon kan helpen deze schalen problemen te verlichten.

configuratie opties

git clone-branch

het -branch argument laat je een specifieke branch specificeren om te klonen in plaats van de branch waarnaar de remote HEAD verwijst, meestal de master branch. Daarnaast kun je een tag doorgeven in plaats van branch voor hetzelfde effect.

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

Dit bovenstaande voorbeeld zou alleen de new_feature branch van de remote Git repository klonen., Dit is puur een overtuig hulpprogramma om u tijd te besparen van het downloaden van deHEAD ref van de repository en vervolgens de ref te moeten ophalen die u nodig hebt.

git clone-mirror vs.git clone-bare

git clone –bare

vergelijkbaar met git init --bare, wanneer het -bare argument wordt doorgegeven aan git clone, wordt een kopie van de remote repository gemaakt met een weggelaten werkmap., Dit betekent dat een repository zal worden opgezet met de geschiedenis van het project dat kan worden gepusht en gepulled, maar niet direct kan worden bewerkt. Bovendien zullen geen Remote branches voor de repo worden geconfigureerd met de-bare repository. Zoals git init --bare, wordt dit gebruikt om een gehoste repository aan te maken die ontwikkelaars niet direct zullen bewerken.

git clone — mirror

Het --mirror argument geeft impliciet ook het --bare argument door., Dit betekent dat het gedrag van --bare wordt overgenomen door --mirror. Wat resulteert in een kale repo zonder bewerkbare werkbestanden. Bovendien zal --mirror alle extended refs van de remote repository klonen, en de remote branch tracking configuratie onderhouden. U kunt dan git remote update uitvoeren op de mirror en het zal alle refs van de origin repo overschrijven. Geeft u exacte ‘gespiegelde’ functionaliteit.,

andere configuratie opties

voor een uitgebreide lijst van andere git clone opties bezoek de officiële Git documentatie. In dit document, we zullen ingaan op een aantal andere gemeenschappelijke opties.

git clone — template

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

klonen de repo op <repo location>en past de template van<template directory>toe op de nieuw aangemaakte lokale branch. Een grondige herziening van Git templates kan gevonden worden op onze git init pagina.,

Git URL ‘s

Git heeft zijn eigen URL syntaxis die gebruikt wordt om remote repository locaties door te geven aan Git commando’ s. Omdat git clone het meest gebruikt wordt op remote repositories zullen we de GIT URL syntaxis hier bekijken.

Git URL-protocollen

-SSH

Secure Shell (SSH) is een alomtegenwoordig geauthenticeerd netwerkprotocol dat gewoonlijk standaard wordt geconfigureerd op de meeste servers. Omdat SSH een geverifieerd protocol is, moet u referenties met de hostingserver vaststellen voordat u verbinding maakt., ssh://host.xz/path/to/repo.git/

– GIT

– HTTP

Hyper text transfer protocol. Het protocol van het web, het meest gebruikt voor het overbrengen van webpagina HTML-gegevens over het Internet. Git kan geconfigureerd worden om te communiceren via HTTP

samenvatting

In dit document namen we een diepe blik op git clone. De belangrijkste afhaalpunten zijn:
git clone wordt gebruikt om een kopie van een doelrepo

2 te maken. De doelrepo kan lokaal of op afstand

3 zijn. Git ondersteunt een paar netwerkprotocollen om verbinding te maken met remote repo ‘ s

4., Er zijn veel verschillende configuratieopties beschikbaar die de inhoud van de kloon

veranderen

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Spring naar toolbar