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:

1.8.3
git fetch --unshallow     # equivalent of git fetch -–depth=2147483647
                          # fetches the rest of the repository
1.8.3
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

1.6.5
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>/


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow