Idiota

Nozioni di base sull'unione e l'eliminazione di rami di Git

Nozioni di base sull'unione e l'eliminazione di rami di Git
La ramificazione può aiutarti a mantenere il tuo lavoro organizzato. Tuttavia, devi essere in grado di unire il tuo lavoro per rendere il lavoro coerente. Se non unisci mai ed elimini i rami, la tua cronologia potrebbe diventare troppo caotica per essere compresa.

Lavorare con l'unione e l'eliminazione dei rami

Creiamo prima un ramo master, inseriamo alcuni commit, creiamo un nuovo ramo chiamato features, aggiungiamo alcuni commit, quindi torniamo al master e commettiamo di nuovo. Ecco i comandi:

$ mkdir miogioco
$ cd miogioco
$ git init
$ echo "Decisione di progettazione 1: Brainstarm" >> design.TXT
$ git add -A
$ git commit -m "C0: Progetto avviato"
$ echo "Decisione progettuale 2: scrivere codice" >> design.TXT
$ git add -A
$ git commit -m "C1: codice inviato"
$ caratteristiche del ramo git
$ git funzionalità di checkout
$ echo "Aggiungi funzione 1" >> funzione.TXT
$ git add -A
$ git commit -m "C2: Caratteristica 1"
$ echo "Aggiungi funzione 2" >> funzione.TXT
$ git add -A
$ git commit -m "C3: Caratteristica 2"
$ git checkout master
$ echo "Modifica di nuovo il master" >> design.TXT
$ git add -A
$ git commit -m "C4: Master modificato"

I comandi precedenti hanno creato la seguente situazione:

Puoi controllare la cronologia dei due rami per vedere quali commit hanno:

$ git stato
Sul maestro di filiale
niente da eseguire, pulizia della directory di lavoro
$ git log --oneline
2031b83 C4: Master modificato
1c0b64c C1: codice inviato
 
$ git funzionalità di checkout
Passato alle "caratteristiche" del ramo
 
$ git log --oneline
93d220b C3: Caratteristica 2
ad6ddb9 C2: Caratteristica 1
1c0b64c C1: codice inviato
ec0fb48 C0: Progetto avviato

Supponiamo ora di voler portare tutte le modifiche dal ramo delle funzionalità al nostro ramo principale. Dovrai avviare il processo dalla destinazione della fusione. Poiché vogliamo fonderci nel ramo principale, è necessario avviare il processo da lì. Quindi diamo un'occhiata al ramo principale:

$ git checkout master
Passato al ramo 'master'
 
$ git stato
Sul maestro di filiale
niente da eseguire, pulizia della directory di lavoro

Ora creiamo l'unione:

$ funzioni di unione di git

Se non ci sono conflitti nell'unione, si aprirà un editor di testo con i commenti:

Unisci "caratteristiche" del ramo
 
# Per favore inserisci un messaggio di commit per spiegare perché questa unione è necessaria,
# soprattutto se unisce un upstream aggiornato in un ramo di argomento.
#
# Le righe che iniziano con '#' verranno ignorate e un messaggio vuoto verrà interrotto
# il commit.

Puoi modificare i commenti o accettare quelli predefiniti. L'output di unione dovrebbe mostrare risultati come questo:

Fusione realizzata dalla strategia 'ricorsiva'.
caratteristica.txt | 2 ++
1 file modificato, 2 inserimenti(+)
crea modalità 100644 funzione.TXT

Dopo l'unione, hai la seguente condizione:

Se controlli i log, troverai:

$ git stato
Sul maestro di filiale
niente da eseguire, pulizia della directory di lavoro
 
$ git log --oneline
46539a3 C5: Unisci "caratteristiche" del ramo
2031b83 C4: Master modificato
93d220b C3: Caratteristica 2
ad6ddb9 C2: Caratteristica 1
1c0b64c C1: codice inviato
ec0fb48 C0: Progetto avviato

Hai unito con successo le modifiche. Tuttavia, il ramo delle funzionalità è ancora presente.

$ git ramo -a
Caratteristiche
* maestro

Puoi eliminarlo con il seguente comando:

$ git branch -d caratteristiche

Se controlli ora, dovresti vedere solo il ramo principale:

$ git ramo -a
* maestro

Conclusione

Assicurati di controllare regolarmente i rami inutilizzati ed eliminarli. Vuoi mantenere pulito il tuo repository per facilitarne la navigazione e la comprensione.

Ulteriori letture:

I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...
Le migliori distribuzioni Linux per il gioco nel 2021
Il sistema operativo Linux ha fatto molta strada dal suo aspetto originale, semplice e basato su server. Questo sistema operativo è notevolmente migli...
Come acquisire e riprodurre in streaming la tua sessione di gioco su Linux
In passato, giocare era considerato solo un hobby, ma con il tempo l'industria dei giochi ha visto una crescita enorme in termini di tecnologia e nume...