Introduzione
Git è un sistema di controllo della versione open source per tenere traccia delle modifiche durante il ciclo di vita dello sviluppo del software.
Il suo modello di ramificazione reciprocamente indipendente lo fa risaltare. I rami possono essere basati su versioni precedenti del software per mantenere l'integrità dei progressi correnti mentre si lavora su una correzione di bug o su una nuova funzionalità.
Questa guida descriverà in dettaglio più opzioni per creare un nuovo ramo in Git.
Prerequisiti
- Un'installazione Git esistente su CentOS o Git per Ubuntu.
- Accesso a una finestra di terminale/riga di comando.
- Un repository locale o remoto con cui lavorare.
Crea un nuovo ramo Git
Esistono molti modi per creare un nuovo ramo Git. Nella maggior parte dei casi si tratta di creare un ramo dal ramo principale o, ad esempio, un nuovo commit o tag.
Un metodo comune per creare un nuovo ramo è con il comando:
git branch <new_branch_name>
Questo non passa automaticamente a quel ramo. Per cambiare branch Git, inserisci il seguente comando:
git checkout <new_branch_name>
Crea nuovo ramo Git dal ramo corrente
Il modo più semplice e popolare per creare un ramo Git è:
git checkout -b <new_branch_name>
Questo crea un nuovo ramo dal ramo corrente. Passa automaticamente anche alla nuova filiale.
Crea un nuovo ramo Git da un ramo diverso
Per creare un nuovo ramo da un altro ramo, esegui il comando seguente:
git checkout -b <new_branch_name> <specific_different_branch>
Invece di
Crea un ramo da un commit
Un commit è un comando che salva le modifiche apportate al codice. Un progetto può avere più commit in quanto viene rivisto e migliorato.
Trova la chiave hash per un commit specifico:
git log
Il registro contiene la chiave hash.
Crea un ramo da un commit precedente:
git branch <new_branch_name> 6009fc
Non è necessario inserire l'intera chiave hash, solo i primi caratteri. Visualizza di nuovo il registro git e vedrai elencato il nuovo ramo.
Questo metodo è particolarmente utile se è necessario tornare a una versione precedente del software per correggere un bug senza rimuovere le funzionalità esistenti.
Usa git checkout
per passare al ramo appena creato.
Crea un ramo da un tag
Un tag è una versione finale e non modificabile di un commit. Laddove un commit può essere modificato, le versioni con tag sono generalmente permanenti.
Per creare un ramo da questo tag, usa il comando:
git branch <new_branch_name> <tag_name>
Per passare a questo ramo:
git checkout <new_branch_from_tag>
Per maggiori dettagli, consulta la nostra guida dettagliata ai tag di checkout di Git.
Crea un ramo utilizzando lo stato HEAD distaccato
Lo stato HEAD distaccato si verifica quando estrai un commit che non fa formalmente parte di un ramo.
Per eseguire il test, utilizza git log
per ottenere l'hash di un commit, quindi inserisci:
git checkout 6009fc
Sostituisci 6009fc
con il valore hash effettivo dal sistema. Il sistema stampa il seguente output:
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
Proprio come i contorni di avviso, puoi apportare modifiche in base al commit. Le modifiche vanno perse se non le salvi.
Per salvare eventuali modifiche, esegui lo stage e quindi inserisci quanto segue:
git commit -m "test_case"
git branch <test_case>
git checkout <test_case>
Per aggiungere le modifiche al master, utilizzare quanto segue:
git checkout master
git merge <test_case>
Crea una filiale da una filiale remota
Per creare una nuova filiale in locale basata su una filiale remota esistente, utilizza il --track opzione:
git branch --track <new_branch> origin/<remote_branch>
In alternativa, usa il git checkout
comando per mantenere il nome del ramo remoto originale:
git checkout --track origin/<remote_branch>
Il git checkout
Il comando crea automaticamente il ramo remoto in locale con il nome originale.
Crea un ramo in un repository remoto
Usa il git push
comando per creare un nuovo ramo in un repository remoto basato su un ramo locale:
git push -u origin <local_branch>
Il comando crea automaticamente il ramo in un repository remoto. L'opzione -u garantisce una connessione di tracciamento.
Come eliminare un ramo Git
Per eliminare un ramo git usa il comando:
git checkout master
git branch -d <branch_name>
L'output conferma che il ramo è stato eliminato.