Git: unisci Branch in Master

Risposta rapida: unisci il ramo nel master

Se stai cercando una risposta rapida, per unire un ramo nel file master ramo – tu checkout master ed merge some_branch:

$ git checkout new-branch
# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Voi sempre checkout il ramo in cui ti stai unendo e merge un ramo che ha già modifiche.

Comprendere l'unione dei rami con Git

Se sei nuovo a Git, però, vale la pena dedicare qualche minuto a comprendere questi comandi e come funzionano. È sorprendentemente semplice e ti porterà lontano.

Nota: Nel 2020, Git (insieme alle principali piattaforme di hosting di repository come GitHub, GitLab, ecc.) ha adottato una modifica nella terminologia ufficiale e il nome del ramo predefinito è stato modificato in main, a causa delle connotazioni negative della parola master può comportare. Molti progetti non sono migrati o non hanno rinominato i loro rami principali, quindi per il prossimo futuro – i termini master ed main sarà probabilmente usato in modo intercambiabile.

Una delle funzionalità più potenti di Git è la capacità di creare e unire facilmente rami e modifiche alla base di codice.

La natura distribuita di Git incoraggia gli utenti a creare spesso nuovi rami e a unirli regolarmente come parte del processo di sviluppo – e alcuni flussi di lavoro Git sfruttano ampiamente questa caratteristica.

Ciò migliora sostanzialmente il flusso di lavoro di sviluppo per la maggior parte dei progetti incoraggiando commit più piccoli, più mirati e granulari, soggetti a una rigorosa revisione tra pari.

Nell'eredità Sistemi di controllo della versione (come CVS) la difficoltà di unirlo lo limitava agli utenti avanzati. Altri sistemi di controllo della versione moderni ma centralizzati come Sovversione richiedono che i commit vengano effettuati su un repository centrale, quindi un flusso di lavoro agile con ramificazioni e fusioni locali è atipico.

Un flusso di lavoro di ramificazione comunemente utilizzato in Git consiste nel creare un nuovo ramo di codice per ogni nuova funzionalità, correzione di bug o miglioramento.

Questi sono chiamati Rami di funzionalità.

Ogni ramo suddivide in compartimenti i commit relativi a una particolare funzionalità. Una volta completata la nuova funzionalità, ovvero una serie di modifiche apportate al ramo della funzionalità, è pronta per essere riunita nuovamente nel ramo principale (o in un altro ramo della riga di codice principale a seconda del flusso di lavoro in uso).

Nota: La ramificazione delle funzionalità non è il esclusivamente puoi seguire un flusso di lavoro ramificato, ma è ampiamente adottato ed è reso possibile dalla semplicità delle funzionalità di fusione di Git.

Unisci un ramo in un altro con Git

I git branch Il comando viene utilizzato per elencare tutti i rami esistenti in un repository. Apparirà un asterisco accanto al ramo attualmente attivo:

$ git branch
* master

Per creare un nuovo ramo, possiamo usare il file git branch new-branch comando. Questo creerà un nuovo ramo che rispecchia i commit sul ramo attualmente attivo:

$ git branch new-branch
$ git branch
* master
new-branch

Nota: Dietro le quinte, Git non crea effettivamente una nuova serie di commit per rappresentare il nuovo ramo. Un ramo è come un tag e i commit lo sono condiviso. Tu sei ramificazione una nuova serie di modifiche dal ramo principale. Una volta che un ramo di funzionalità è terminato e unito al ramo principale, le modifiche in esso apportate diventano il ramo principale, finché non si unisce un nuovo ramo di funzionalità nel ramo principale.

A questo punto abbiamo creato un nuovo ramo, ma ci troviamo ancora nel ramo sorgente. Per iniziare a lavorare sul nuovo ramo dobbiamo prima eseguire il comando git checkout new-branch. Questo cambierà il ramo attivo nel nuovo ramo:

$ git checkout new-branch
Switched to branch ‘new-branch'
$ git branch
master
* new-branch

A questo punto è possibile effettuare il commit sul nuovo ramo per implementare la nuova funzionalità. Una volta completata la funzionalità, il ramo può essere riunito nuovamente nel ramo del codice principale.

Per prima cosa corriamo git checkout master per riportare il ramo attivo al file master ramo. Quindi eseguiamo il comando git merge new-branch a unire la nuova funzionalità nel master ramo.

Nota: git merge unisce il ramo specificato nel ramo attualmente attivo. Quindi dobbiamo essere sul ramo in cui ci troviamo fondersi in.

Se stai unendo una nuova funzionalità nel ramo principale, devi prima passare al ramo principale e poi unirti ad esso:

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
Switched to branch 'master'
$ git merge new-branch

Dai un'occhiata alla nostra guida pratica e pratica per l'apprendimento di Git, con le migliori pratiche, gli standard accettati dal settore e il cheat sheet incluso. Smetti di cercare su Google i comandi Git e in realtà imparare esso!

Se tutto va bene, il nostro lavoro è finito. I nuovi commit della funzionalità ora appaiono nel ramo principale. Tuttavia, è possibile che Git non riesca a completare l'unione a causa di un conflitto nel ramo di origine. Questo è chiamato a unire il conflitto.

Per riassumere, ecco i comandi per creare un nuovo ramo, effettuare alcuni commit e unirlo nuovamente nel master:

$ git checkout master
$ git branch new-branch
$ git checkout new-branch

# ...develop some code...

$ git add .
$ git commit –m "Some commit message"
$ git checkout master
$ git merge new-branch

L'autore

Questo articolo è stato scritto da Jacob Stopak, consulente software e sviluppatore con la passione di aiutare gli altri a migliorare la propria vita attraverso il codice. Jacob è il creatore di Impegno iniziale – un sito dedicato ad aiutare gli sviluppatori curiosi a scoprire come sono codificati i loro programmi preferiti. Il suo progetto in primo piano aiuta le persone impara Git a livello di codice.

Timestamp:

Di più da Impilamento