Git
Clonazione di repository
Ricerca…
Sintassi
- git clone [<opzioni>] [-] <ripeti> [<dir>]
- git clone [--template = <template_directory>] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o <nome> ] [-b <nome>] [-u <upload-pack>] [--reference <repository>] [--dissociate] [--separate-git-dir <git dir>] [--depth <depth> ] [- [no-] single-branch] [--recursive | --recurse-submodules] [- [no-] submodules superficiali] [--jobs <n>] [-] <repository> [<directory>]
Clone poco profondo
La clonazione di un enorme repository (come un progetto con più anni di storia) potrebbe richiedere molto tempo, o fallire a causa della quantità di dati da trasferire. Nei casi in cui non è necessario avere la cronologia completa disponibile, è possibile fare un clone superficiale:
git clone [repo_url] --depth 1
Il comando sopra recupererà solo l'ultimo commit dal repository remoto.
Tieni presente che potresti non essere in grado di risolvere le fusioni in un repository poco profondo. Spesso è una buona idea prendere almeno il numero di commit necessari per tornare indietro per risolvere le fusioni. Ad esempio, per ottenere invece gli ultimi 50 commit:
git clone [repo_url] --depth 50
Successivamente, se richiesto, puoi recuperare il resto del repository:
git fetch --unshallow # equivalent of git fetch -–depth=2147483647
# fetches the rest of the repository
git fetch --depth=1000 # fetch the last 1000 commits
Clone regolare
Per scaricare l'intero repository includendo la cronologia completa e tutti i rami, digitare:
git clone <url>
L'esempio sopra lo posizionerà in una directory con lo stesso nome del nome del repository.
Per scaricare il repository e salvarlo in una directory specifica, digitare:
git clone <url> [directory]
Per maggiori dettagli, visita Clona un repository .
Clona un ramo specifico
Per clonare un ramo specifico di un repository, digitare --branch <branch name>
prima --branch <branch name>
del repository:
git clone --branch <branch name> <url> [directory]
Per usare l'opzione di stenografia per --branch
, digita -b
. Questo comando scarica l'intero repository e controlla <branch name>
.
Per risparmiare spazio su disco, puoi clonare la cronologia che porta solo a un singolo ramo con:
git clone --branch <branch_name> --single-branch <url> [directory]
Se --single-branch
non viene aggiunto al comando, la cronologia di tutti i rami verrà clonata in [directory]
. Questo può essere un problema con i grandi repository.
Per annullare successivamente il flag --single-branch
e recuperare il resto del comando use repository:
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
Clona in modo ricorsivo
git clone <url> --recursive
Clona il repository e clona tutti i sottomoduli. Se i sottomoduli contengono sottomoduli aggiuntivi, Git li clonerà anche quelli.
Clona usando un proxy
Se è necessario scaricare i file con git sotto un proxy, l'impostazione del server proxy a livello di sistema potrebbe non essere sufficiente. Puoi anche provare quanto segue:
git config --global http.proxy http://<proxy-server>:<port>/