Creare una copia di un repository remoto in Git con git clone


Lezione 15 / 53

Creare una copia di un repository remoto in Git con git clone

Di Luca Ferretti


git guida git guida git italiano

git clone è il comando da utilizzare per creare una copia, o clone, di un repository già esistente, in particolare disponibile tramite una connessione di rete.

La clonazione di un repository remoto sulla macchina locale è una operazione una tantum; una volta effettuata la copia locale, non è più necessario eseguire git clone (vedremo più avanti come recuperare le nuove modifiche caricate da altri).

Nella sua versione più semplice, il comando git clone richiede che venga fornita l'URL del repository:

git clone <URL>

L’ URL può essere indicata in diversi formati, a seconda del protocollo offerto dal server che ospita il repository remoto, in particolare:

  • SSH - ssh://[user@]host.xz[:port]/path/to/repo.git/
  • HTTP - http[s]://host.xz[:port]/path/to/repo.git/
  • GIT - git://host.xz[:port]/path/to/repo.git/
     

In generale, in base al server che ospita il repository in remoto saranno disponibili uno o più protocolli e sarà necessario autenticarsi o fornire le necessarie credenziali.

A titolo d’esempio, se consideriamo un repository ospitato sul famoso servizio GitHub è possibile:

  • clonare un repository pubblico con la url HTTP, p.e. git clone https://github.com/php/php-src.git: in questo modo si ottiene una copia “read only”, nel senso che non sarà possibile inviare le proprie eventuali modifiche
  • clonare un repository privato con la url HTTP: in questo caso verrà chiesto di inserire il proprio username e la propria password, sarà possibile “scrivere” sul repository remoto
  • clonare un repository privato con la url GIT: in questo caso sarà necessario aver configurato prima su GitHub le proprie credenziali SSH (chiavi pubbliche), sarà ovviamente possibile “scrivere” sul repository remoto

Una volta completato, il comando git clone avrà creato nella directory corrente una directory che ospita il clone del repository remoto e avrà creato una connessione chiamata origin che punta al repository remoto originale. Tale connessione verrà usata da altri comandi per inviare e ricevere nuove modifiche dal repository remoto.

Alcune utili opzioni da usare con il comando git clone sono

  • clonare in una specifica directory (utile anche per dare uno specifico nome al proprio clone locale:
    git clone <URL> <DIRECTORY>

     

  • clonare solo una parte della history dei commit - in questo caso la copia locale è detta shallow clone - per esempio solo gli ultimi 10 commit:
    git clone --depth=10 <URL>

     
  • clona solo uno specifico branch presente nel repository remoto:
    git clone --single-branch --branch <NAME> <URL>

     

Guida Git in italiano 1 Che cos'è Git? 2 Nascita di Git 3 Principali caratteristiche di Git 4 Riga di comando e UI in Git 5 Come Installare Git 6 5 comandi Git per sviluppatori singoli 7 5 comandi Git per sviluppare collaborando 8 Repository in Git 9 Commit in Git 10 Working Copy in Git 11 Staging Area in Git 12 Branch in Git 13 Remote in Git 14 Inizializzare un nuovo repository con git init 15 Creare una copia di un repository remoto in Git con git clone 16 Configurare le opzioni di Git con git config 17 Il comando Git add in Git 18 Il comando Git commit in Git 19 Il comando Git diff in Git 20 Il comando Git stash in Git 21 .gitignore : i file ignored in Git 22 Il comando Git status in Git 23 il comando Git log in Git 24 Il comando Git tag in Git 25 Il comando Git blame in Git 26 Il comando Git checkout in Git 27 Il comando Git revert in Git 28 Il comando Git reset in Git 29 Il comando Git rm in Git 30 L'opzione Git commit –amend in Git 31 Git rebase –interactive in Git 32 Scorciatoie per comandi frequenti in Git 33 Repository condiviso in Git 34 Il modello Fork & pull 35 Il comando Git remote in Git 36 I principali repository remote di Git: Github, Gitlab e Bitbucket 37 Il comando Git fetch in Git 38 Il comando Git push in Git 39 Il comando Git pull in Git 40 Il comando Git branch in Git 41 Il comando Git checkout in Git 42 Il comando Git merge in Git 43 Risolvere un merge conflict in Git 44 Capire meglio il contenuto dei commit durante un conflitto di merge in Git 45 Workflow Git centralizzato 46 Workflow Git feature branching 47 Workflow Git trunk-based 48 Approccio “forking” in Git 49 Gitflow in Git 50 Messaggi di commit in Git 51 Tagging & Versioning in Git 52 L’opzione merge in Git 53 L’opzione rebase in Git
Scopri i corsi

Le nostre guide possono essere molto utili per muovere i primi passi nel mondo della programmazione, ma se vuoi iniziare una nuova carriera in ambito digital & tech con il supporto costante dei docenti e tantissime esercitazioni pratiche, ti consigliamo di frequentare uno dei corsi della nostra Hackademy!

Scopri i corsi