Con git clone potete clonare i re­po­si­to­ry esistenti in modo da poter poi lavorare su una copia a sé stante. Dalla copia di lavoro potete poi eseguire i comandi push e pull.

Registra il tuo dominio
  • Domain Connect gratuito per una con­fi­gu­ra­zio­ne facile del DNS
  • Cer­ti­fi­ca­to SSL Wildcard gratuito
  • Pro­te­zio­ne privacy inclusa

Che cos’è git clone?

Al contrario di SVN, Git vi consente di lavorare con­tem­po­ra­nea­men­te in più re­po­si­to­ry. In questo modo svi­lup­pa­tri­ci e svi­lup­pa­to­ri possono testare dif­fe­ren­ti modifiche per l’intero progetto senza correre alcun rischio, e i team lavorare pa­ral­le­la­men­te senza dover attendere i progressi degli altri membri del gruppo di lavoro.

Poiché le fasi di lavoro non sempre partono da zero, con git clone avete la pos­si­bi­li­tà di copiare i re­po­si­to­ry già esistenti e di pro­se­gui­re il lavoro di­ret­ta­men­te nella copia. Tutti i processi di controllo della versione vengono poi gestiti dal nuovo re­po­si­to­ry locale. Il clone può dunque essere uti­liz­za­to per tutte le fasi di sviluppo. La procedura di clo­na­zio­ne crea in au­to­ma­ti­co un col­le­ga­men­to con il re­po­si­to­ry ori­gi­na­rio.

È im­por­tan­te segnalare come Git non faccia alcuna di­stin­zio­ne tra il re­po­si­to­ry centrale e i suoi cloni; infatti, anche questi ultimi vengono ri­co­no­sciu­ti appieno. Invece di mo­di­fi­ca­re il re­po­si­to­ry ori­gi­na­rio centrale, i commit vengono separati tra di loro con i comandi git push e git pull.

Consiglio

Nel nostro articolo dove mettiamo Git e SVN a confronto potete scoprire di più sulle analogie e le dif­fe­ren­ze di entrambi gli strumenti di controllo della versione.

Sintassi di git clone

Pur essendo un semplice comando Git, git clone è uno strumento molto im­por­tan­te per poter lavorare quo­ti­dia­na­men­te con e alle diverse fasi di sviluppo. La sintassi dei comandi è sempre uguale e la trovate riportata anche sulla nostra pratica guida “Git Cheat Sheet” sca­ri­ca­bi­le in PDF.

La co­stru­zio­ne classica è la seguente:

git clone <repository></repository>

Con questo comando copiate il re­po­si­to­ry de­si­de­ra­to (in questo caso chiamato sem­pli­ce­men­te “re­po­si­to­ry”) e salvate la copia sul di­spo­si­ti­vo locale. In questo modo l’originale resta inal­te­ra­to e non adotterà au­to­ma­ti­ca­men­te eventuali modifiche. Come base per git clone risultano adatti i re­po­si­to­ry presenti nel sistema dati locale, così come i re­po­si­to­ry su altri di­spo­si­ti­vi e a cui si può accedere tramite HTTP oppure SSH. Ad esempio, con HTTP il comando è il seguente:

git clone https://sitoesempio.it/repository_esterno.git

Qualora sia già presente un nome utente SSH, la sintassi è la seguente:

git clone ssh://utente@esempio.it/nuovo_repository.git
cd nuovo_repository

Scegliere una cartella di de­sti­na­zio­ne

In aggiunta al pro­ce­di­men­to sopra descritto, con git clone potete anche scegliere un luogo di ar­chi­via­zio­ne preciso in cui salvare la copia. Ciò serve a fa­ci­li­tar­vi il lavoro e a mi­glio­ra­re la visione d’insieme. Per farlo po­si­zio­na­te la cartella di de­sti­na­zio­ne in fondo al comando. A questo punto, il comando cor­ri­spon­den­te è:

git clone <repository> <cartelladidestinazione></cartelladidestinazione></repository>

In questo modo la copia ottenuta clonando il re­po­si­to­ry viene creata all’interno della cartella indicata. Tutti i rami (branch), i file e i commit vengono presi in con­si­de­ra­zio­ne e quindi clonati.

Git clone e mirror

Qualora vogliate creare una copia con git clone che non possa essere mo­di­fi­ca­ta, uti­liz­za­te in aggiunta il termine “mirror”. A essere inclusi sono anche i rami e i ri­fe­ri­men­ti. Il comando è il seguente:

git clone --mirror

Git clone e bare

Con l’argomento “bare”, invece, ordinate a Git di copiare il re­po­si­to­ry remoto, ma senza tenere in con­si­de­ra­zio­ne la cartella di lavoro. In questo modo potete con­ti­nua­re a uti­liz­za­re i comandi push e pull per la copia, senza però poterla mo­di­fi­ca­re di­ret­ta­men­te. Il comando cor­ri­spon­den­te è:

git clone --bare

Clonare un singolo ramo

Inoltre, potete anche clonare un singolo ramo o branch. Anche in questo caso uti­liz­za­te git clone, digitando il seguente comando:

git clone --nome-branch

In questo caso viene clonato il ramo prin­ci­pa­le. Qualora de­si­de­ria­te clonare un altro ramo, occorre spe­ci­fi­car­lo. Il comando sarà dunque il seguente:

git clone [url] --branch [branch] --nome-branch

Tuttavia, di norma non dovreste aver bisogno di copiare i singoli rami, in quanto vi conviene copiare sempre l’intero re­po­si­to­ry.

Clonare de­ter­mi­na­ti tag

Con git clone potete anche copiare de­ter­mi­na­ti tag. Così è come appare il codice:

git clone --branch <tag> <repository></repository></tag>

Git clone e sparse

So­prat­tut­to per i re­po­si­to­ry par­ti­co­lar­men­te estesi e ricchi di ra­mi­fi­ca­zio­ni può avere senso clonare esclu­si­va­men­te i dati dalla root. L’argomento da uti­liz­za­re in questo caso è “sparse”. Il suo utilizzo al­leg­ge­ri­sce il lavoro su un re­po­si­to­ry, con­tri­bui­sce a mi­glio­ra­re la visione d’insieme e influisce po­si­ti­va­men­te sulla per­for­man­ce. Il comando intero sarà:

git clone --sparse

Uti­liz­za­re i template con git clone

Qualora de­si­de­ria­te uti­liz­za­re un template Git con un re­po­si­to­ry clonato, potete farlo con l’apposito comando:

git clone --template=<template> <repository></repository></template>

In questo modo viene clonato il re­po­si­to­ry e il template de­si­de­ra­to viene applicato di­ret­ta­men­te al ramo locale.

Consiglio

Dovete di­stri­bui­re i vostri siti web e le vostre app? Con Deploy Now di IONOS ot­ti­miz­za­te i vostri flussi di lavoro e be­ne­fi­cia­te di numerose fun­zio­na­li­tà che fanno al caso vostro.

Vai al menu prin­ci­pa­le