Conceptes bàsics sobre la fusió i supressió de branques de Git

Basics Git Merging



La ramificació us pot ajudar a mantenir el vostre treball organitzat. Tot i això, cal que pugueu combinar el vostre treball per tal de fer-lo coherent. Si no fusioneu i suprimiu mai les branques, és possible que el vostre historial sigui massa caòtic per entendre-ho.

Treballar amb Fusió i supressió de sucursal

Primer creem una branca mestra, introduïm algunes confirmacions, creem una branca nova anomenada funcions, afegim unes quantes confirmacions i, a continuació, tornem a mestre i torneu a confirmar. Aquí teniu les ordres:







$mkdirel meu joc
$cdel meu joc
$git init
$trobo 'Decisió de disseny 1: Brainstarm' >>design.txt
$git add -A
$git commit -m 'C0: Projecte iniciat'
$trobo 'Decisió de disseny 2: escriure codi' >>design.txt
$git add -A
$git commit -m 'C1: codi enviat'
$branca gitcaracterístiques
$git checkoutcaracterístiques
$trobo 'Afegeix la funció 1' >>feature.txt
$git add -A
$git commit -m 'C2: funció 1'
$trobo 'Afegeix la funció 2' >>feature.txt
$git add -A
$git commit -m 'C3: funció 2'
$git checkoutmestre
$trobo 'Màster modificador de nou' >>design.txt
$git add -A
$git commit -m 'C4: Màster modificat'

Les ordres anteriors van crear la situació següent:





Podeu consultar l'historial de les dues branques per veure quins compromisos tenen:





$estat git
Al mestre de sucursal
res a comprometre, directori de treball net
$registre de git --oneline
2031b83 C4: Mestre modificat
1c0b64c C1: codi enviat

$git checkoutcaracterístiques
S'ha canviat a sucursal'característiques'

$registre de git --oneline
93d220b C3: funció2
ad6ddb9 C2: funció1
1c0b64c C1: codi enviat
ec0fb48 C0: Projecte iniciat

Suposem que voleu portar tots els canvis de la branca de funcions a la nostra branca mestra. Haureu d'iniciar el procés des de la destinació de la combinació. Com que volem fusionar-nos a la branca mestra, heu d'iniciar el procés a partir d'aquí. Així que anem a veure la branca mestra:

$git checkoutmestre
S'ha canviat a sucursal'mestre'

$estat git
Al mestre de sucursal
res a comprometre, directori de treball net

Ara anem a crear la combinació:



$git mergecaracterístiques

Si no hi ha conflictes a la combinació, obtindreu un editor de text amb els comentaris:

Combina la branca'característiques'

# Introduïu un missatge de confirmació per explicar per què és necessària aquesta combinació,
# especialment si combina una actualització de la pujada actualitzada en una branca de tema.
#
# Les línies que comencin per '#' s'ignoraran i s'abortarà un missatge buit
# el commit.

Podeu modificar els comentaris o acceptar els predeterminats. La sortida de combinació hauria de mostrar resultats com aquest:

Fusió feta per la'recursiu'estratègia.
feature.txt| 2++
1 dossiercanviat,2insercions(+)
mode de creació100.644feature.txt

Després de la combinació, teniu la condició següent:

Si comproveu els registres, trobareu:

$estat git
Al mestre de sucursal
res a comprometre, directori de treball net

$registre de git --oneline
46539a3 C5: combinar la branca'característiques'
2031b83 C4: Mestre modificat
93d220b C3: funció2
ad6ddb9 C2: funció1
1c0b64c C1: codi enviat
ec0fb48 C0: Projecte iniciat

Heu combinat els canvis amb èxit. Tot i això, la branca de funcions encara és present.

$branca git -a
característiques
*mestre

Podeu eliminar-lo amb l'ordre següent:

$branca git -dcaracterístiques

Si ho marqueu ara, només hauríeu de veure la branca mestra:

$branca git -a
*mestre

Conclusió

Assegureu-vos de comprovar periòdicament si hi ha sucursals no utilitzades i suprimiu-les. Voleu mantenir el vostre dipòsit net per facilitar la navegació i la comprensió.

Per llegir més: