git-clone

git-clone

Questo è il comando git-clone che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS

PROGRAMMA:

NOME


git-clone - Clona un repository in una nuova directory

SINOSSI


git clonare [--template= ]
[-l] [-s] [--nessun hardlink] [-q] [-n] [--bare] [--mirror]
[-o ] [-B ] [-u ] [--riferimento ]
[--dissociate] [--separate-git-dir ]
[--profondità ] [--[no-]unico-ramo]
[--ricorsivo | --recurse-submodules] [--]
[ ]

DESCRIZIONE


Clona un repository in una directory appena creata, crea rami di monitoraggio remoto per
ogni ramo nel repository clonato (visibile usando git branch -r), e crea e controlla
un ramo iniziale che viene biforcato dal ramo attualmente attivo del repository clonato.

Dopo il clone, un semplice recupero git senza argomenti aggiornerà tutto il monitoraggio remoto
branch e un git pull senza argomenti unirà inoltre il branch master remoto
nel ramo master corrente, se presente (questo non è vero quando viene fornito "--single-branch";
vedi sotto).

Questa configurazione predefinita si ottiene creando riferimenti alle teste di ramo remote
sotto refs/remotes/origin e inizializzando remote.origin.url e remote.origin.fetch
variabili di configurazione.

VERSIONI


--locale, -l
Quando il repository da cui clonare si trova su una macchina locale, questo flag ignora il normale
Meccanismo di trasporto "Git consapevole" e clona il repository facendo una copia di HEAD e
tutto sotto gli oggetti e le directory dei riferimenti. I file nella directory .git/objects/
sono hardlinked per risparmiare spazio quando possibile.

Se il repository è specificato come percorso locale (ad es. /path/to/repo), questo è il
default, e --local è essenzialmente un no-op. Se il repository è specificato come URL,
quindi questo flag viene ignorato (e non usiamo mai le ottimizzazioni locali). Specificando
--no-local sovrascriverà il valore predefinito quando viene fornito /path/to/repo, usando il normale
Git trasporto invece.

--no-hardlink
Forza il processo di clonazione da un repository su un filesystem locale per copiare i file
nella directory .git/objects invece di usare hardlink. Questo può essere desiderabile se
stai cercando di fare un backup del tuo repository.

--condiviso, -s
Quando il repository da clonare si trova sulla macchina locale, invece di utilizzare hard link,
imposta automaticamente .git/objects/info/alternates per condividere gli oggetti con la fonte
deposito. Il repository risultante inizia senza alcun oggetto proprio.

NOTA: questa è un'operazione potenzialmente pericolosa; fare non usalo a meno che tu non capisca cosa
lo fa. Se cloni il tuo repository usando questa opzione e poi elimini i rami (o
usa qualsiasi altro comando Git che renda qualsiasi commit esistente non referenziato) nel sorgente
repository, alcuni oggetti potrebbero non avere più riferimenti (o penzolare). Questi oggetti possono essere
rimosso dalle normali operazioni Git (come git commit) che chiamano automaticamente git gc
--auto. (Vedere git-gc(1).) Se questi oggetti vengono rimossi e sono stati referenziati dal
repository clonato, il repository clonato verrà danneggiato.

Nota che l'esecuzione di git repack senza l'opzione -l in un repository clonato con -s will
copiare gli oggetti dal repository di origine in un pacchetto nel repository clonato, rimuovendo
il risparmio di spazio su disco di clone -s. È sicuro, tuttavia, eseguire git gc, che utilizza il
-l opzione per impostazione predefinita.

Se vuoi rompere la dipendenza di un repository clonato con -s sulla sua fonte
repository, puoi semplicemente eseguire git repack -a per copiare tutti gli oggetti dal sorgente
repository in un pacchetto nel repository clonato.

--riferimento
Se il repository di riferimento è sulla macchina locale, configura automaticamente
.git/objects/info/alternates per ottenere oggetti dal repository di riferimento. Usando un
repository già esistente come alternativo richiederà meno oggetti da copiare
dal repository clonato, riducendo i costi di rete e di archiviazione locale.

NOTA: vedere la NOTA per l'opzione --shared e anche per l'opzione --dissociate.

--dissociare
Prendi in prestito gli oggetti dai repository di riferimento specificati con le opzioni --reference
solo per ridurre il trasferimento di rete e smettere di prendere in prestito da loro dopo che un clone è stato fatto da
fare le necessarie copie locali degli oggetti presi in prestito. Questa opzione può essere utilizzata anche quando
clonazione in locale da un repository che già prende in prestito oggetti da un altro
repository: il nuovo repository prenderà in prestito oggetti dallo stesso repository e questo
l'opzione può essere utilizzata per interrompere il prestito.

--tranquillo, -q
Operare tranquillamente. Lo stato di avanzamento non viene segnalato al flusso di errore standard. Questa bandiera è
passato anche al comando 'rsync' quando dato.

--verboso, -v
Corri in modo prolisso. Non influisce sulla segnalazione dello stato di avanzamento all'errore standard
ruscello.

--progresso
Lo stato di avanzamento viene riportato sul flusso di errore standard per impostazione predefinita quando lo è
collegato a un terminale, a meno che non sia specificato -q. Questa bandiera forza anche lo stato di avanzamento
se il flusso di errore standard non è diretto a un terminale.

--no-checkout, -n
Non viene eseguito alcun checkout di HEAD dopo che il clone è stato completato.

--spoglio
Fare un nudo Archivio Git. Cioè, invece di creare e mettendo il
file amministrativi in /.git, fai il stesso il $GIT_DIR.
Questo ovviamente implica il -n perché non c'è nessun posto dove controllare l'albero di lavoro.
Anche le teste di filiale sul remoto vengono copiate direttamente nella filiale locale corrispondente
heads, senza mapparli a refs/remotes/origin/. Quando viene utilizzata questa opzione, nessuno dei due
vengono creati rami di teletracciamento né le relative variabili di configurazione.

--specchio
Configurare un mirror del repository di origine. Ciò implica --bare. Rispetto a --nudo,
--mirror non solo mappa i rami locali della sorgente ai rami locali del target,
mappa tutti i riferimenti (inclusi rami di monitoraggio remoto, note, ecc.) e imposta un
refspec configurazione in modo tale che tutti questi riferimenti vengano sovrascritti da un aggiornamento remoto git
nel repository di destinazione.

--origine , -o
Invece di usare l'origine del nome remoto per tenere traccia del repository upstream, usa
.

--ramo , -B
Invece di puntare l'HEAD appena creato al ramo puntato dal clonato
HEAD del repository, punta a ramo invece. In un repository non nudo, questo è
la filiale che verrà controllata. --branch può anche prendere tag e staccare il
HEAD a quel commit nel repository risultante.

--upload-pack , -u
Quando viene fornito e si accede al repository da cui clonare tramite ssh, questo specifica a
percorso non predefinito per il comando eseguito dall'altra parte.

--template=
Specificare la directory da cui verranno utilizzati i modelli; (Vedi la "DIRECTORY MODELLI"
sezione di git-init(1).)

--config = , -C =
Imposta una variabile di configurazione nel repository appena creato; questo ha effetto
immediatamente dopo l'inizializzazione del repository, ma prima che la cronologia remota sia
recuperati o tutti i file estratti. La chiave è nello stesso formato previsto da idiota-
config(1) (es. core.eol=true). Se vengono dati più valori per la stessa chiave, ciascuno
valore verrà scritto nel file di configurazione. Questo rende sicuro, ad esempio, aggiungere
ulteriori refspec di recupero per l'origine remota.

--profondità
Creare un superficiale clone con una cronologia troncata al numero specificato di commit.
Implica --single-branch a meno che --no-single-branch sia dato per recuperare le storie vicine
le punte di tutti i rami.

--[no-]unico-ramo
Clona solo la cronologia che porta alla punta di un singolo ramo, specificata da
--branch opzione o HEAD del ramo primario remoto punta a. Ulteriori recuperi in
il repository risultante aggiornerà solo il ramo di monitoraggio remoto per il ramo
questa opzione è stata utilizzata per la clonazione iniziale. Se l'HEAD del telecomando non puntava
in qualsiasi ramo quando è stato creato --clone a ramo singolo, nessun ramo di tracciamento remoto è
creato.

--recursive, --recurse-sottomoduli
Dopo che il clone è stato creato, inizializza tutti i sottomoduli all'interno, usando il loro valore predefinito
impostazioni. Questo è equivalente all'esecuzione di git submodule update --init --recursive
subito dopo che il clone è finito. Questa opzione viene ignorata se clonato
repository non ha un worktree/checkout (cioè se uno di --no-checkout/-n, --bare,
o --mirror è dato)

--separate-git-dir=
Invece di posizionare il repository clonato dove dovrebbe essere, posiziona il clone
repository nella directory specificata, quindi rendere simbolico un Git indipendente dal filesystem
link a lì. Il risultato è che il repository Git può essere separato dall'albero di lavoro.


Il repository (possibilmente remoto) da cui clonare. Vedere la sezione URL di seguito per ulteriori informazioni
informazioni su come specificare i repository.


Il nome di una nuova directory in cui clonare. La parte "umana" della fonte
repository viene utilizzato se non viene fornita esplicitamente alcuna directory (repo per /path/to/repo.git e
foo per host.xz:foo/.git). La clonazione in una directory esistente è consentita solo se il
la directory è vuota.

GIT URL


In generale, gli URL contengono informazioni sul protocollo di trasporto, l'indirizzo del
server remoto e il percorso del repository. A seconda del protocollo di trasporto, alcuni
di queste informazioni possono essere assenti.

Git supporta i protocolli ssh, git, http e https (inoltre, è possibile utilizzare ftp e ftps
per il recupero e rsync può essere utilizzato per il recupero e il push, ma sono inefficienti e
deprecato; non usarli).

Il trasporto nativo (cioè git:// URL) non esegue l'autenticazione e dovrebbe essere usato con
cautela sulle reti non protette.

Con essi possono essere utilizzate le seguenti sintassi:

· ssh://[utente@]host.xz[:porta]/percorso/a/repo.git/

· git://host.xz[:porta]/percorso/a/repo.git/

· http[s]://host.xz[:porta]/percorso/to/repo.git/

· ftp[s]://host.xz[:porta]/percorso/a/repo.git/

· rsync://host.xz/percorso/a/repo.git/

Una sintassi alternativa simile a scp può essere utilizzata anche con il protocollo ssh:

· [utente@]host.xz:percorso/a/repo.git/

Questa sintassi viene riconosciuta solo se non ci sono barre prima dei primi due punti. Questo aiuta
differenziare un percorso locale che contiene i due punti. Ad esempio il percorso locale foo:bar potrebbe
essere specificato come percorso assoluto o ./foo:bar per evitare di essere interpretato erroneamente come un URL ssh.

I protocolli ssh e git supportano inoltre l'espansione ~username:

· ssh://[utente@]host.xz[:porta]/~[utente]/percorso/a/repo.git/

· git://host.xz[:porta]/~[utente]/percorso/a/repo.git/

· [utente@]host.xz:/~[utente]/percorso/a/repo.git/

Per i repository locali, supportati anche da Git in modo nativo, le seguenti sintassi potrebbero essere
usato:

· /percorso/a/repo.git/

· file:///percorso/a/repo.git/

Queste due sintassi sono per lo più equivalenti, tranne che la prima implica l'opzione --local.

Quando Git non sa come gestire un determinato protocollo di trasporto, tenta di utilizzare il
a distanza- helper remoto, se ne esiste uno. Per richiedere esplicitamente un assistente remoto,
può essere utilizzata la seguente sintassi:

· ::

dove può essere un percorso, un server e un percorso o una stringa arbitraria simile a un URL
riconosciuto dallo specifico helper remoto richiamato. Vedere gitremote helpers(1) per
dettagli.

Se c'è un gran numero di repository remoti con nomi simili e vuoi usare a
formato diverso per loro (in modo tale che gli URL che usi verranno riscritti in URL che
work), è possibile creare una sezione di configurazione del modulo:

[URL" "]
invece di =

Ad esempio, con questo:

[url "git://git.host.xz/"]
inveceOf = host.xz:/percorso/a/
inveceDi = lavoro:

un URL come "work:repo.git" o come "host.xz:/path/to/repo.git" verrà riscritto in qualsiasi
contesto che accetta un URL come "git://git.host.xz/repo.git".

Se vuoi riscrivere gli URL solo per il push, puoi creare una sezione di configurazione del
modulo:

[URL" "]
pushInsteadOf =

Ad esempio, con questo:

[url "ssh://esempio.org/"]
pushInsteadOf = git://example.org/

un URL come "git://example.org/path/to/repo.git" verrà riscritto in
"ssh://example.org/path/to/repo.git" per i push, ma i pull utilizzeranno comunque l'originale
URL.

ESEMPI


· Clona da monte:

$ git clone git://git.kernel.org/pub/scm/.../linux.git mio-linux
$ cd mio-linux
$ Make

· Crea un clone locale che prenda in prestito dalla directory corrente, senza controllare le cose
Partenza:

$ git clone -l -s -n . ../copia
$ cd ../copia
$ git show-ramo

· Clona da upstream durante il prestito da una directory locale esistente:

$ git clone --reference /git/linux.git
git://git.kernel.org/pub/scm/.../linux.git
mio-linux
$ cd mio-linux

· Crea un repository nudo per pubblicare le tue modifiche al pubblico:

$ git clone --bare -l /home/proj/.git /pub/scm/proj.git

GIT


Parte della git(1) seguito

Usa git-clone online usando i servizi onworks.net



Gli ultimi programmi online per Linux e Windows