Cloni cloni git fa tutti i rami
GIT Clone Branch – Come clonare un ramo specifico
Riepilogo:
In questo articolo, discuterò di come clonare un ramo specifico in Git. Fornirò istruzioni dettagliate e spiegazioni su come svolgere questo compito. Inoltre, affronterò alcune domande comuni e fornirò risposte dettagliate in base alla mia esperienza personale.
Punti chiave:
1. Scarica e installa l’ultimo GIT per Mac Installer: Prima di poter clonare un ramo specifico, è necessario che Git sia installato sul tuo Mac. Visita il sito Web ufficiale GIT e scarica l’ultimo installatore per Mac.
2. Usa il comando clone git: Per clonare un ramo specifico, è possibile utilizzare il comando clone git seguito dall’URL del repository e dal nome del ramo.
3. Controlla la tua versione GIT: È importante assicurarsi di avere una versione compatibile di Git installata. Puoi controllare la tua versione Git eseguendo un semplice comando nel terminale.
Domanda 1: il clone git clone clone tutti i rami?
Risposta: No, il comando clone git non clona tutti i rami per impostazione predefinita. Clona solo il ramo che è attualmente controllato o il ramo specificato nel comando.
Domanda 2: come posso clonare un ramo specifico usando il clone Git?
Risposta: per clonare un ramo specifico usando il clone Git, è possibile aggiungere il nome del ramo alla fine del comando in questo modo: Git Clone
Domanda 3: posso clonare più rami contemporaneamente usando il clone Git?
Risposta: No, il clone git ti consente di clonare un ramo alla volta. Se si desidera clonare più rami, dovrai eseguire il comando clone git separatamente per ogni ramo.
Domanda 4: come faccio a passare a un ramo diverso dopo aver clonato un ramo specifico?
Risposta: Dopo aver clonato un ramo specifico, è possibile utilizzare il comando GIT checkout per passare a un ramo diverso. Basta eseguire il checkout Git
Domanda 5: posso clonare un ramo remoto che non esiste a livello locale?
Risposta: Sì, puoi clonare un ramo remoto che non esiste a livello locale. Quando si clone il repository, Git prenderà tutti i rami dal repository remoto, incluso quello che si desidera clonare.
Domanda 6: cosa succede se il ramo che voglio clone è stato eliminato?
Risposta: se il ramo che desideri clone è stato eliminato, non sarai in grado di clonarlo. Assicurati che il ramo esista ancora nel repository remoto prima di tentare di clonarlo.
Domanda 7: posso specificare un commit specifico anziché un ramo durante la clonazione?
Risposta: Sì, puoi specificare un commit specifico anziché un ramo durante la clonazione. È necessario fornire l’hash commit invece del nome della filiale nel comando clone git.
Domanda 8: ci sono limitazioni alla clonazione di rami specifici?
Risposta: non ci sono limitazioni specifiche per clonazione di rami specifici. Tuttavia, assicurati di avere le autorizzazioni necessarie e l’accesso al ramo che si desidera clonare.
Domanda 9: è possibile clonare un ramo da un diverso repository remoto?
Risposta: Sì, è possibile clonare un ramo da un diverso repository remoto. Devi solo fornire l’URL del repository e il nome della filiale nel comando clone git.
Domanda 10: come posso aggiornare un ramo clonato con le ultime modifiche dal repository remoto?
Risposta: Per aggiornare un ramo clonato con le ultime modifiche dal repository remoto, è possibile utilizzare il comando git pull. Basta navigare nella directory del repository clonato ed esegui git pull.
GIT Clone Branch – Come clonare un ramo specifico
Scarica e installa l’ultimo GIT per Mac Installer qui.
Cloni cloni git fa tutti i rami
Cambiamenti nel git-clone Manuale
- 2.38.1 → 2.40.1 Nessun cambiamento
- 2.38.0







10/02/22 - 2.36.1 → 2.37.7 Nessun cambiamento
- 2.36.0







18/04/22 - 2.35.1 → 2.35.8 Nessun cambiamento
- 2.35.0







24/01/22 - 2.32.1 → 2.34.8 Nessun cambiamento
- 2.32.0







06/06/21 - 2.30.2 → 2.31.8 Nessun cambiamento
- 2.30.1







02/08/21 - 2.30.0







27/12/20 - 2.29.1 → 2.29.3 Nessun cambiamento
- 2.29.0







19/10/20 - 2.28.1 Nessun cambiamento
- 2.28.0







27/07/20 - 2.27.1 Nessun cambiamento
- 2.27.0







06/01/20 - 2.25.1 → 2.26.3 Nessun cambiamento
- 2.25.0







13/01/20
Controlla la tua versione di Git eseguendo
NOME
git -clone – clone un repository in una nuova directory
SINOSSI
clone git [--template=] [-l] [-s] [--no-hardlinks] [-q] [-n] [--bare] [--mirror] [-o ] [-b ] [-u ] [--reference ] [--dissociate] [--separate-git-dir ] [--depth ] [--[no-]single-branch] [--no-tags] [--recurse-submodules[=]] [--[no-]shallow-submodules] [--[no-]remote-submodules] [--jobs ] [--sparse] [--[no-]reject-shallow] [--filter= [--also-filter-submodules]] [--] []
DESCRIZIONE
Clona un repository in una directory di nuova creazione, crea rami di tracciamento a distanza per ciascun ramo nel repository clonato (visibile usando il ramo Git-remoti) e crea e controlla un ramo iniziale che viene biforcato dal repository clonato clonato’S Attualmente ramo attivo.
Dopo il clone, un semplice Git si prendono senza argomenti aggiornerà tutti i rami di tracciamento remoto e un tiro git senza argomenti unirà inoltre il ramo principale remoto nell’attuale ramo principale, se presente (questo è falso quando viene dato “-Single-Branch”; vedere di seguito).
Questa configurazione predefinita viene raggiunta creando riferimenti ai remoti teste di ramo in riferimento/telecomandi/origine e inizializzando il telecomando.origine.URL e remoto.origine.Variabili di configurazione di recupero.
OPZIONI
Quando il repository da clone è su una macchina locale, questa bandiera bypassa il normale meccanismo di trasporto “a conoscenza del git” e clona il repository facendo una copia della testa e tutto sotto gli oggetti e i refs directory. I file sotto .GIT/ Oggetti/ Directory sono battuti per risparmiare spazio quando possibile.
Se il repository è specificato come percorso locale (e.G., /path/to/repo), questo è il valore predefinito e–locale è essenzialmente un no-op. Se il repository è specificato come URL, questo flag viene ignorato (e non usiamo mai le ottimizzazioni locali). Specifica: No-Local sovrascriverà il valore predefinito quando/per Path/to/Repo, utilizzando invece il normale trasporto Git.
NOTA: Questa operazione può correre con una modifica simultanea al repository di origine, simile all’esecuzione di SRC DST CP -R durante la modifica di SRC .
–nodlinks
Forzare il processo di clonazione da un repository su un filesystem locale per copiare i file sotto il .Directory Git/Oggetti invece di usare HardLinks. Questo può essere desiderabile se stai cercando di fare un backup del tuo repository.
Quando il repository su clone si trova sulla macchina locale, invece di utilizzare i collegamenti rigidi, configurare automaticamente .GIT/Oggetti/Informazioni/Si alternano per condividere gli oggetti con il repository di origine. Il repository risultante inizia senza alcun oggetto a sé stante.
NOTA: Questa è un’operazione forse pericolosa; Fare non usalo a meno che tu non capisca cosa fa. Se si clona il tuo repository utilizzando questa opzione e quindi elimina le filiali (o usi qualsiasi altro comando git che rende qualsiasi commit esistente non riferenziato) nel repository di origine, alcuni oggetti possono diventare non riferenziati (o penzolanti). Questi oggetti possono essere rimossi dalle normali operazioni GIT (come il commit git) che chiamano automaticamente la manutenzione di Git –Auto . (Vedi Git-manutenzione [1].) Se questi oggetti vengono rimossi e sono stati referenziati dal repository clonato, il repository clonato diventerà corrotto.
Si noti che l’esecuzione del repack git senza l’opzione – -locale in un repository clonato con -Shared copierà gli oggetti dal repository di origine in un pacchetto nel repository clonato, rimuovendo il risparmio dello spazio del disco del clone -Shared . È sicuro, tuttavia, eseguire Git GC, che utilizza l’opzione -locale per impostazione predefinita.
Se si desidera rompere la dipendenza di un repository clonato con -Shared sul suo repository di origine, è possibile eseguire semplicemente git repack -a per copiare tutti gli oggetti dal repository di origine in un pacchetto nel repository clonato.
–Riferimento [-if-Able]
Se il repository di riferimento è sulla macchina locale, imposta automaticamente .GIT/Oggetti/Informazioni/Alternati per ottenere oggetti dal repository di riferimento. L’uso di un repository già esistente come alternativa richiede che meno oggetti vengano copiati dal repository da clonare, riducendo la rete e i costi di archiviazione locale. Quando si utilizza-Reference-if-Able, una directory non esistente viene saltata con un avvertimento invece di interrompere il clone.
NOTA: consultare la nota per l’opzione -Shared e anche l’opzione -Dissociate.
–dissociarsi
Prendi in prestito gli oggetti dai repository di riferimento specificati con le opzioni -Reference solo per ridurre il trasferimento di rete e interrompere il prestito da essi dopo che un clone è stato realizzato rendendo le necessarie copie locali di oggetti presi in prestito. Questa opzione può essere utilizzata anche durante la clonazione localmente da un repository che già prende in prestito oggetti da un altro repository: il nuovo repository prenderà in prestito oggetti dallo stesso repository e questa opzione può essere utilizzata per fermare il prestito.
Operare in silenzio. I progressi non sono segnalati al flusso di errore standard.
Esegui verboso. Non influisce sulla segnalazione dello stato di avanzamento al flusso di errori standard.
Lo stato di avanzamento è riportato nel flusso di errore standard per impostazione predefinita quando è allegato a un terminale, a meno che non sia specificato. Questo flag forza lo stato di avanzamento anche se il flusso di errore standard non è diretto a un terminale.
Trasmettere la stringa data al server quando si comunica usando il protocollo versione 2. La stringa data non deve contenere un carattere NUL o LF. Il server’La gestione delle opzioni del server, comprese quelle sconosciute, è specifica del server. Quando vengono forniti più-server-option =, vengono tutti inviati dall’altra parte nell’ordine elencato nella riga di comando.
Non viene eseguita alcuna checkout di testa dopo il completamento del clone.
Fallire se il repository di origine è un repository superficiale. IL clone.rifiuto La variabile di configurazione può essere utilizzata per specificare l’impostazione predefinita.
Fare un spoglio Repository git. Cioè, invece di creare e posizionare i file amministrativi in /.git, fai da solo $ git_dir . Questo ovviamente implica il-néckout perché non c’è nessun posto dove dare un’occhiata all’albero di lavoro. Anche le teste di filiale sul telecomando vengono copiate direttamente su corrispondenti teste di filiale locali, senza mapparle in riferimento/telecomandi/origine/ . Quando viene utilizzata questa opzione, vengono create né rami di tracciamento remoto né le relative variabili di configurazione.
Impiega un checkout sparso, con solo file nella directory Toplevel inizialmente presenti. Il comando Git-Sparse-checkout [1] può essere utilizzato per far crescere la directory di lavoro secondo necessità.
Utilizzare la funzione clone parziale e richiedere che il server invii un sottoinsieme di oggetti raggiungibili secondo un determinato filtro oggetto. Quando si utilizza -filtro, il fornito viene utilizzato per il filtro clone parziale. Ad esempio, -Filter = BLOB: Nessuno filtrerà tutti i BLOB (contenuto del file) fino a quando è necessario da GIT. Inoltre, -Filter = BLOB: Limit = Filterà almeno tutte le chiazze di dimensioni . Per maggiori dettagli sulle specifiche del filtro, consultare l’opzione-filtro in Git-Rev-list [1].
Applicare anche il filtro clone parziale su eventuali sottomoduli nel repository. Richiede-filtro e-rimorchiare . Questo può essere acceso per impostazione predefinita impostando il clone.FiltersubModules Opzione di configurazione.
Imposta uno specchio del repository di origine. Questo implica -a cura . Rispetto a–Bare,-Mirror non solo mappa le filiali locali della fonte ai filiali locali del bersaglio, ma mappa tutti i ref (inclusi rami di remoto, note ecc.) e imposta una configurazione RefSpec in modo tale che tutti questi ref siano sovrascritti da un aggiornamento remoto Git nel repository di destinazione.
Invece di utilizzare l’origine del nome remoto per tenere traccia del repository a monte, utilizzare . Score di clone.defaultremotename dalla configurazione.
Invece di puntare la testa appena creata sul ramo puntato dal repository clonato’s testa, punta invece a ramo invece. In un repository non battuto, questo è il ramo che verrà verificato. –Branch può anche prendere tag e distaccare la testa a quel commit nel repository risultante.
Quando viene fornito e si accede al repository to clone tramite SSH, questo specifica un percorso non default per l’esecuzione del comando sull’altra estremità.
Specificare la directory da cui verranno utilizzati i modelli; (Vedi la sezione “Directory modello” di Git-Init [1].)
Impostare una variabile di configurazione nel repository appena creato; Ciò ha effetto immediatamente dopo l’inizializzata del repository, ma prima che la cronologia remota venga recuperata o qualsiasi file controllato. La chiave è nello stesso formato previsto da Git-config [1] (E.G., nucleo.eol = vero). Se vengono forniti più valori per la stessa chiave, ogni valore verrà scritto nel file di configurazione. Questo lo rende sicuro, ad esempio, aggiungere ulteriori refspec di recupero al telecomando di origine.
A causa delle limitazioni dell’implementazione corrente, alcune variabili di configurazione non hanno effetto fino a dopo il recupero iniziale e il checkout. Le variabili di configurazione note per non avere effetto sono: remoto..specchio e remoto..tagopt . Usa invece le opzioni corrispondenti-Mirror e-No-Tags.
Creare un poco profondo clone con una storia troncata al numero specificato di commit. Implica-Single-ranch a meno che non venga somministrato-No-Single-ranch per recuperare le storie vicino alle punte di tutti i rami. Se si desidera clonare sottomoduli superficiali, passano anche-shallow-submoduli .
Crea un clone poco profondo con una storia dopo il tempo specificato.
Crea un clone poco profondo con una storia, esclusi i commit raggiungibili da un ramo o tag remoto specificato. Questa opzione può essere specificata più volte.
Clone solo la storia che porta alla punta di un singolo ramo, specificato dall’opzione -branch o dal ramo primario telecomando’s head punta a. Ulteriori recuperi nel repository risultante aggiornerà solo il ramo di remoto per il ramo questa opzione è stata utilizzata per la clonazione iniziale. Se la testa al telecomando non puntava in nessun ramo quando è stato realizzato un clone di single-ranch, non viene creato alcun ramo di tracciamento remoto.
Assistente’clone t eventuali tag e impostare il telecomando..tagopt =-no-tags nella configura’t seguire eventuali tag. I successivi prese di tag espliciti funzionano ancora (vedi git-fetch [1]).
Può essere utilizzato insieme a-Single-ranch per clonare e mantenere un ramo senza riferimenti diversi da un singolo ramo clonato. Questo è utile e.G. Per mantenere cloni minimi del ramo predefinito di un repository per l’indicizzazione della ricerca.
–Recorrse-Submodules [=]
Dopo che il clone è stato creato, inizializza e sottomoduli cloni all’interno in base al pathspec fornito. Se non viene fornito pathspec, tutti i sottomoduli vengono inizializzati e clonati. Questa opzione può essere data più volte per i pathspec costituiti da più voci. Il clone risultante ha un sottomodulo.Impostato attivo su Pathspec fornito o “.”(Significa tutti i sottomoduli) Se non viene fornito pathspec.
I sottomoduli vengono inizializzati e clonati utilizzando le loro impostazioni predefinite. Ciò equivale all’esecuzione dell’aggiornamento del sottomodulo Git -Init -RECURSIVE immediatamente dopo il termine del clone. Questa opzione viene ignorata se il repository clonato non ha un worktree/checkout (i.e. Se viene dato uno di –no -checkout / -n, – -bara o – -mirror)
–[no-] submoduli poco profondi
Tutti i sottomoduli clonati saranno superficiali con una profondità di 1.
Tutti i sottomoduli clonati utilizzeranno lo stato del sottomodulo’S ramo di remoto di remoto per aggiornare il sottomodulo, piuttosto che il superproietto’S SHA-1 registrato. Equivalente al passaggio -REMOTE ALL’AGGIORNAMENTO SUBMODULA GIT .
Invece di posizionare il repository clonato dove dovrebbe essere, posizionare il repository clonato nella directory specificata, quindi creare un collegamento simbolico GIT agnostico al filesystem. Il risultato è che il repository Git può essere separato dall’albero di lavoro.
Il numero di sottomoduli recuperati allo stesso tempo. Impostazione predefinita al sottomodulo.Opzione Fetchjobs.
Il repository (possibilmente remoto) da clonare. Vedere la sezione URL GIT di seguito per ulteriori informazioni sulla specifica dei repository.
Il nome di una nuova directory in cui clonare. La parte “umana” del repository di origine viene utilizzata se non viene fornita esplicitamente alcuna directory (Repo per/Path/To/Repo.git e foo per host.xz: foo/.idiota ). La clonazione in una directory esistente è consentita solo se la directory è vuota.
Prima di recuperare dal telecomando, prendi un pacchetto dal dato e smondi i dati nel repository locale. Gli arbitri nel pacchetto verranno archiviati sotto lo spazio nascosto/pacchetto/* nomi. Questa opzione è incompatibile con-profonde, –shallow-sof e –shallow-exclude .
URL GIT
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, alcune di queste informazioni potrebbero essere assenti.
GIT supporta i protocolli SSH, GIT, HTTP e HTTPS (in più, FTP e FTP possono essere utilizzati per il recupero, ma questo è inefficiente e deprecato; non usarlo).
Il trasporto nativo (i.e. GIT: // URL) non fa autenticazione e dovrebbe essere utilizzato con cautela su reti non garantite.
Le seguenti sintassi possono essere usate con loro:
- ssh: // [user@] host.XZ [: Porta]/Path/To/Repo.idiota/
- git: // host.XZ [: Porta]/Path/To/Repo.idiota/
- http [s]: // host.XZ [: Porta]/Path/To/Repo.idiota/
- ftp [s]: // host.XZ [: Porta]/Path/To/Repo.idiota/
Una sintassi alternativa simile a SCP può anche essere utilizzata con il protocollo SSH:
- [utente@] host.XZ: Path/to/Repo.idiota/
Questa sintassi è riconosciuta solo se non ci sono barre prima del primo colon. Questo aiuta a differenziare un percorso locale che contiene un colon. Ad esempio, il percorso locale Foo: la barra potrebbe essere specificato come un percorso assoluto o ./foo: bar per evitare di essere interpretato male come URL SSH.
I protocolli SSH e GIT supportano inoltre l’espansione del nome utente:
- ssh: // [user@] host.XZ [: porta]/~ [utente]/path/to/repo.idiota/
- git: // host.XZ [: porta]/~ [utente]/path/to/repo.idiota/
- [utente@] host.xz:/~ [utente]/path/to/repo.idiota/
Per i repository locali, supportati anche da Git nativamente, è possibile utilizzare le seguenti sintassi:
- /PATH/TO/Repo.idiota/
- File: /// Path/to/Repo.idiota/
Queste due sintassi sono per lo più equivalenti, tranne che la prima implica: l’opzione locale.
clone git, Git Fetch E git tira, ma no Git Push, accetterà anche un file di bundle adatto. Vedi Git-Bundle [1].
Quando Git non lo fa’t sapere come gestire un determinato protocollo di trasporto, tenta di utilizzare l’aiutante remoto remoto, se esiste uno. Per richiedere esplicitamente un aiutante remoto, è possibile utilizzare la seguente sintassi:
dove può essere un percorso, un server e un percorso o una stringa arbitraria simile a URL riconosciuta dallo specifico aiutante remoto invocato. Vedi Gitremote-Helpers [7] per i dettagli.
Se ci sono un gran numero di repository remoti con nome simile e si desidera utilizzare un formato diverso per loro (in modo tale che gli URL che usi verranno riscritti in URL che funzionano), è possibile creare una sezione di configurazione del modulo:
[url “”] invece di =
Ad esempio, con questo:
[URL "git: // git.ospite.xz/"] invece di = host.xz:/path/to/anineof = lavoro:
Un URL come “lavoro: repository.host “o mi piace”.XZ:/PATH/TO/Repo.git “sarà riscritto in qualsiasi contesto che richiede un URL per essere” git: // git.ospite.XZ/Repo.idiota”.
Se si desidera riscrivere gli URL solo per la spinta, è possibile creare una sezione di configurazione del modulo:
[URL “”] PushInsteadof =
Ad esempio, con questo:
[URL "SSH: // Esempio.org/"] pushinsteadof = git: // esempio.org/
Un URL come “git: // esempio.org/path/to/repo.git “verrà riscritto in” ssh: // esempio.org/path/to/repo.git “per le spinte, ma tiri utilizzerà comunque l’URL originale.
Esempi
- Clone da upstream:
$ git clone git: // git.kernel.org/pub/scm/. /Linux.git my-linux $ cd my-linux $ make
$ git clone -l -s -n . ../Copia $ CD ../Copia $ git show-ranch
$ git clone -Reference /Git /Linux.git \ git: // git.kernel.org/pub/scm/. /Linux.git \ my-linux $ cd my-linux
$ git clone - -bara -l/home/proj/.GIT/PUB/SCM/PROJ.idiota
CONFIGURAZIONE
Tutto sotto questa riga in questa sezione è incluso selettivamente dalla documentazione Git-Config [1]. Il contenuto è lo stesso di cosa’s trovato lì:
dentro.templatir
Specificare la directory da cui verranno copiati i modelli. (Vedi la sezione “Directory modello” di Git-Init [1].)
Consente di sovrascrivere il nome di filiale predefinito E.G. Quando si inizializza un nuovo repository.
Il nome del telecomando da creare durante la clonazione di un repository. I valori predefiniti sono di origine e possono essere sovrascritti passando l’opzione –Origin Command-Line a Git-clone [1].
Rifiuta per clonare un repository se è superficiale, può essere sovrascritto dall’opzione di passaggio-Rievietto nella riga di comando. Vedi git-clone [1]
Se viene fornito un filtro clone parziale (vedere-filtro in Git-Rev-list [1]) e viene utilizzato–ricursi-submoduli, applicare anche il filtro ai sottomoduli.
IDIOTA
Parte della suite Git [1]
GIT Clone Branch – Come clonare un ramo specifico

Bolaji Ayodeji
A differenza dei vecchi sistemi di controllo della versione centralizzati come SVN e CVS, Git è distribuito. Ogni sviluppatore ha la storia completa e il controllo del loro codice a livello locale o remoto. Possono anche accedere o manipolare diverse parti del codice mentre ritengono adatte da diverse posizioni.
Poiché Linus Torvalds (il famoso creatore del kernel del sistema operativo Linux) ha creato Git nel 2005 per lo sviluppo del kernel di Linux, è diventato il sistema di controllo della versione moderno più utilizzato al mondo.
In questo articolo, ti presenterò flussi di lavoro Git Clone e Git Branch e ti mostrerò come puoi clonare una filiale specifica in base alle tue esigenze. Cominciamo! ?
Prerequisiti
- Conoscenza di base del terminale
- Capacità di digitare i comandi nel terminale
- Git installato (ti mostrerò ancora come)
- Un account GitHub
- Un sorriso sul tuo viso (alza quel sorriso amico ?)
Introduzione rapida a Git e GitHub
Idiota è un sistema di controllo della versione distribuito progettato per tenere traccia delle modifiche a un progetto (codice) nello sviluppo del software. Ha lo scopo di far rispettare il coordinamento, la collaborazione, la velocità ed efficienza tra gli sviluppatori.
Github, D’altra parte, è un servizio di hosting basato sul Web per il controllo della versione utilizzando Git. Offre tutta la funzionalità di gestione del codice e del codice sorgente distribuito di GIT, nonché aggiunta di più funzionalità per il codice del computer.
Come installare Git su Windows
Scarica e installa l’ultimo git per Windows Installer qui.
Come installare Git su Linux
Ecco i comandi in base alla tua distribuzione Linux:
Debian o Ubuntu
sudo apt-get aggiornamento sudo apt-get installa git Fedora
sudo dnf installa git Centos
sudo yum installa git Arch Linux
sudo pacman -sy git Gentoo
sudo emerge --ask -verbose dev-vcs/git Come installare git su un mac
Scarica e installa l’ultimo GIT per Mac Installer qui.
Oppure puoi digitare questo comando:
Brew Installa Git Ora che abbiamo installato Git, passiamo al tutorial.
Introduzione al clone Git
Git ti consente di gestire e versione per il tuo progetto in un “repository”. Questo repository è archiviato su un servizio di hosting basato sul Web per il controllo della versione, come GitHub.
Puoi quindi clonare questo repository sulla macchina locale e avere tutti i file e le filiali a livello locale (spiegherò presto di più sulle filiali).

Ad esempio, puoi clonare il repository di FreeCodeCamp con SSH come così:
git clone [email protected]: freecodecamp/freecodecamp.idiota Introduzione ai rami Git
Quando lavori su un progetto, probabilmente avrai funzionalità diverse. E molteplici collaboratori lavoreranno su questo progetto e le sue caratteristiche.
Le filiali ti consentono di creare un “parco giochi” con gli stessi file nella filiale principale. È possibile utilizzare questo ramo per creare funzionalità indipendenti, testare nuove funzionalità, apportare modifiche alla rottura, creare correzioni, scrivere documenti o provare idee senza rompere o influire sul codice di produzione. Quando hai finito, unisci il ramo nella filiale di produzione.
La ramificazione è un concetto fondamentale in Git che viene utilizzato anche in GitHub per gestire i flussi di lavoro di diverse versioni di un progetto. Il ramo principale è sempre la filiale predefinita in un repository che è più spesso considerato “produzione e codice distribuibile”. Nuove filiali come Passwordless-Auth o Refactor-Signup-Ux possono essere creati dal ramo principale.

Come clonare i rami git
Mentre puoi clonare i repository con il comando clone git, tieni presente che questo clona il ramo e la testa remota . Questo è di solito padrone per impostazione predefinita e include tutte le altre filiali nel repository.
Quindi, quando clonati un repository, clonati il maestro e tutti gli altri rami. Ciò significa che dovrai visitare un altro ramo da solo.
Supponiamo che il tuo compito su un progetto sia quello di lavorare su una funzione per aggiungere un’autenticazione senza password a una dashboard utente. E questa funzione è nella filiale senza password.
Non hai davvero bisogno del ramo principale poiché il tuo “ramo di funzionalità” verrà fuso in seguito. Come allora clonati questa filiale senza password-auth senza recuperare tutte le altre filiali con “un mucchio di file di cui non hai bisogno”?
Ho creato questo repository di esempio per spiegarlo. Questo repository contiene un semplice blog creato con Nextjs e ha quattro filiali fittizie:
- maestro
- Dev
- staging
- Passwordless-auth
In Nextjs, qualsiasi file all’interno delle pagine delle cartelle/API è mappato sul percorso/API/* e sarà trattato come un endpoint API anziché una pagina . Nel nostro repository, ho creato API fittizie diverse in questa directory per rendere ogni ramo diverso.
Il ramo principale contiene il file pagine/api/ciao.js mentre passwordless-auth detiene il file Pagine/API/AUTH.js. Ogni file restituisce solo una risposta di testo fittizio. Vedi la risposta API Hello del Master qui (con un messaggio speciale per te ?).
Cloniamo il repository:
git clone [email protected]: bolajiayodeji/nextjs-blog.idiota Questo ci dà accesso a tutte le filiali in questo repository e puoi facilmente attivare tra ciascuno per vedere ogni versione e i suoi file.
Git Branch -A 
Chiedendosi dove il Remote/Origine/.. I rami venivano da?
Quando si clonisce un repository, si estraggono i dati da un repository su Internet o da un server interno noto come il a distanza. La parola origine è un alias creato dal tuo git per sostituire l’URL remoto (è possibile modificare o specificare un altro alias se lo si desidera).
Questi Remote/Origine/.. I rami ti indicano il repository di origine che hai clonato da Internet in modo da poter comunque eseguire pull/push dall’origine.

Quindi, quando si clone il master sulla macchina, telecomanda/origine/master è il ramo principale originale su Internet e il master è sulla macchina locale. Quindi tirerai/spingerai da e ai telecomandi/origine/master .
In sintesi A distanza è l’URL che ti indica il repository su Internet mentre Origine è un alias per questo URL remoto.

Come clonare un ramo specifico
Ora cloniamo un ramo specifico dal nostro repository demo. Esistono due modi per clonare un ramo specifico. Puoi anche:
- Clona il repository, prendi immediatamente tutti i rami e il checkout su un ramo specifico.
- Clona il repository e prendi solo un singolo ramo.
Opzione uno
Git Clone –branch


Opzione due
Git Clone --Branch-Single-ranch


Se esegui pagine/API CD troverai l’autenticazione.File JS nella filiale senza password-auth come previsto dalla configurazione precedente.
Conclusione
Potresti esaurire Internet o lo spazio di archiviazione, ma devi lavorare su un’attività in una filiale specifica. Oppure potresti voler clonare un ramo specifico con file limitati per vari motivi. Fortunatamente, Git ti offre la flessibilità per farlo. Flettere i muscoli e provalo, c’è molto più “git” per imparare.
Uno alla volta, sì? ✌?
Cloni cloni git fa tutti i rami

Il comando clone Git viene utilizzato per creare una copia di un repository o di una filiale specifici all’interno di un repository.
Git è un sistema di controllo della versione distribuita. Massimizza i vantaggi di un repository completo sulla propria macchina mediante clonazione.
Cosa fa il clone git?
Git clone https: // github.com/github/allenamento-kit.idiota
Quando clona un repository, non si ottiene un file, come puoi in altri sistemi di controllo della versione centralizzati. Clonando con Git, ottieni l’intero repository: tutti i file, tutti i filiali e tutti i commit.
La clonazione di un repository viene in genere eseguita solo una volta, all’inizio dell’interazione con un progetto. Una volta che un repository esiste già su un telecomando, come su Github, allora cloneresti quel repository in modo da poter interagire con esso localmente. Una volta che hai clonato un repository, non dovrai clonarlo di nuovo per fare uno sviluppo regolare.
La capacità di lavorare con l’intero repository significa che tutti gli sviluppatori possono lavorare più liberamente. Senza essere limitato da quali file puoi lavorare, puoi lavorare su un ramo di funzionalità per apportare modifiche in sicurezza. Allora puoi:
- in seguito usa git push per condividere la tua filiale con il repository remoto
- Apri una richiesta pull per confrontare le modifiche con i collaboratori
- Test e distribuire se necessario dalla filiale
- fondersi nel ramo principale.
Come usare il clone Git
Usi comuni e opzioni per il clone git
- Git Clone [URL]: clone (download) Un repository che esiste già su GitHub, inclusi tutti i file, le filiali e i commit.
- Git Clone -Mirror: clone un repository ma senza la possibilità di modificare uno qualsiasi dei file. Ciò include gli arbitri o le filiali. Potresti voler usarlo se stai cercando di creare una copia secondaria di un repository su un telecomando separato e si desidera abbinare tutti i rami. Ciò può verificarsi durante la configurazione utilizzando un nuovo telecomando per l’hosting GIT o quando si utilizza Git durante i test automatizzati.
- Git Clone-Single-Branch: clone solo un singolo ramo
- Git Clone -Spareding: invece di popolare la directory di lavoro con tutti i file nell’attuale commit in modo ricorsivo, popola solo i file presenti nella directory di root. Questo potrebbe aiutare con le prestazioni quando si clona grandi repository con molte directory e sotto-directory.
- `Git Clone–RECURSE-SUBMODULES [=
Puoi vedere tutte le molte opzioni con il clone Git nella documentazione di Git-SCM.
Esempi di clone Git
L’uso più comune di clonazione è semplicemente clonare un repository. Questo viene fatto solo una volta, quando inizi a lavorare su un progetto e seguirai la sintassi del clone Git [URL] .
git clone un ramo
Git Clone-Single-Branch: Per impostazione predefinita, Git Clone creerà rami di tracciamento remoto per tutti i rami attualmente presenti nel telecomando che viene clonato. L’unica filiale locale creata è la filiale predefinita.
Ma forse per qualche motivo ti piacerebbe soltanto Ottieni un ramo di monitoraggio remoto per un ramo specifico o clona un ramo che non è il ramo predefinito. Entrambe queste cose accadono quando usi-Single-ranch con Git Clone .
Questo creerà un clone che ha solo commit inclusi nell’attuale linea di storia. Questo significa che nessun altro ramo verrà clonato. È possibile specificare un certo ramo per clone, ma il ramo predefinito, di solito principale, sarà selezionato per impostazione predefinita.
Per clonare un ramo specifico, usa:
Git Clone [URL] –Branch [Branch]-Single-Branch
La clonazione di una sola filiale non aggiunge alcun beneficio a meno che il repository non sia molto grande e non contenga file binari che rallentano le prestazioni del repository. La soluzione consigliata è di ottimizzare le prestazioni del repository prima di fare affidamento su strategie di clonazione a filiale singola.
clone git con ssh
A seconda di come si autentica con il server remoto, puoi scegliere di clonare usando SSH.
Se scegli di clonare con SSH, utilizzeresti un percorso SSH specifico per il repository invece di un URL. In genere, gli sviluppatori sono autenticati con SSH dal livello della macchina. Ciò significa che probabilmente clonerai con HTTPS o con SSH – non un mix di entrambi per i tuoi repository.
- GIT Branch: questo mostra le filiali esistenti nel repository locale. Puoi anche usare Git Branch [Banch-Name] per creare una filiale dalla posizione attuale o Git Branch, per vedere tutti i rami, sia quelli locali sulla macchina, sia i rami di tracciamento remoto immagazzinati dall’ultima tiro Git o git recuperare dal telecomando.
- GIT Pull: aggiorna la tua attuale filiale di lavoro locale con tutti i nuovi commit dalla filiale remota corrispondente su GitHub. Git Pull è una combinazione di Git Fetch e Git Merge .
- GIT PUSH: carica tutta la filiale locale commit sul telecomando.
- Git Remote -V: mostra i repository remoti associati e il loro nome immagazzinato, come l’origine .
Inizia con Git e GitHub
Revisione del codice, gestire progetti e creare software insieme a 40 milioni di sviluppatori.
Git: clona un ramo specifico
Per impostazione predefinita, la clonazione di un repository Git crea una copia dell’intero repository remoto sulla macchina locale. Tuttavia, in alcuni casi, un repository git può essere enorme e potrebbe non aver bisogno di tutti i rami per il tuo lavoro.
A volte, potresti voler clonare solo un ramo specifico, permettendoti di lavorare su quel ramo senza influire su altri file. È utile clonare solo un ramo specifico quando si lavora su una funzione o quando si fissa un bug che esiste solo in quel ramo.
In questo tutorial, imparerai a clonare un ramo Git specifico.

- Git installato (vedi come installare Git su Ubuntu, macOS, Windows, CentOS 7 o CentOS 8).
- Un repository Git.
Clone Clone Specific Git Branch
Il comando usato per clonare un ramo git è clone git . comunque, il clone git Comando cloni tutti i rami e il telecomando TESTA (di solito il maestro / principale ramo).
Esistono due modi per clonare un singolo ramo Git clone git :
- Metodo 1. Clona l’intero repository, prendi tutti i rami e controlla il ramo specificato dopo il processo di clonazione.
- Metodo 2. Clone solo un ramo specifico e nessun altro ramo.
Le sezioni seguenti spiegano entrambi i metodi in modo da poterli utilizzare per le tue preferenze.
Metodo 1 – Prendi tutti i rami e il checkout uno
Usa questo metodo per recuperare tutti i rami da un repository e quindi controlla uno. Il ramo specificato diventa il ramo locale configurato per Git Push e Git Pull. Tuttavia, si noti che il comando recupera ancora tutti i file da tutti i rami nel repository.
Utilizzare la seguente sintassi per recuperare tutti i rami dal repository remoto e consultare quello specificato:
Git Clone --Branch [Branch_Name] [Remote-URL] Nota: Sostituire le variabili [branch_name] E [REMOTE-URL] con il nome del ramo corretto e l’URL remoto.

Nell’esempio sopra, prendiamo tutti i rami dal repository specificato e controlliamo il nuova caratteristica ramo. Dopo aver cambiato la directory in quella contenente il repository, il ramo predefinito è nuova caratteristica , non maestro .
Metodo 2: prendi i file solo dalla filiale singola
Il secondo metodo consente di recuperare solo i file dal ramo specificato e nient’altro. Fare questo risparmia molto spazio sul disco rigido e riduce le dimensioni del download. Poiché alcuni repository possono essere molto grandi, questo metodo riduce l’utilizzo della larghezza di banda se è necessario lavorare su un ramo specifico solo.
Nota: Al fine di recuperare solo un singolo ramo, Git versione 1.7.10 o successivamente è richiesto.
Git Clone --Branch [Branch_Name]-Single-Branch [Remote-URL] 
Il comando recupera il ramo specificato e copia solo i file contenuti su quel ramo, senza recuperare altri filiali o file. Corsa GIT Branch mostra quali rami sono stati copiati.
Questo tutorial ha mostrato come recuperare un singolo ramo da un repository git. L’opzione è utile quando non si desidera scaricare l’intero repository o quando si desidera lavorare solo su una singola funzionalità.
Per ulteriori tutorial GIT, consulta la nostra guida per principianti Git, dai un’occhiata al nostro tutorial Git Tags o alla Guida al Sottomozione GIT.
Questo articolo è stato utile?
Bosko Marijan
Avendo lavorato come educatore e scrittore di contenuti, combinato con la sua passione per tutta la vita per tutte le cose ad alta tecnologia, Bosko si impegna a semplificare concetti intricati e renderli intuitivi intuitivi. Ciò lo ha portato alla scrittura tecnica a Phoenixnap, dove continua la sua missione di diffondere la conoscenza.
Successivamente dovresti leggere
22 marzo 2023
Questo tutorial mostra due metodi per unire il ramo principale in un altro ramo in Git. Vedere esempi e casi d’uso.
28 settembre 2022
Il comando Git Sottomodule INSIT aggiunge voci di sottomodulo al file di configurazione GIT locale. Questo tutorial mostra come utilizzare il sottomodulo Git init con esempi di utilizzo comuni.
16 marzo 2023
Le filiali in git sono linee di sviluppo indipendenti in un repository. Questo tutorial mostra come estrarre tutti i rami da un repository remoto in uno locale in git.
21 febbraio 2023
Questo articolo confronta e fornisce consigli sulla scelta tra SSH e HTTPS – Due protocolli di rete utilizzati per proteggere la connessione a repository remoti.
