Basisprincipes van Git samenvoegen en verwijderen van branches

Basics Git Merging



Vertakkingen kunnen u helpen uw werk georganiseerd te houden. U moet uw werk echter kunnen samenvoegen om het werk coherent te maken. Als je de branches nooit samenvoegt en verwijdert, kan je geschiedenis te chaotisch worden om te begrijpen.

Werken met samenvoegen en vertakking verwijderen

Laten we eerst een master-branch maken, een paar commits plaatsen, een nieuwe branch maken met de naam features, een paar commits toevoegen, dan terugkomen naar master en opnieuw committen. Dit zijn de commando's:







$mkdirmijn spel
$CDmijn spel
$git init
$gooide uit 'Ontwerpbeslissing 1: Brainstarm' >>ontwerp.txt
$git add -TOT
$git commit -m 'C0: Gestart project'
$gooide uit 'Ontwerpbeslissing 2: Schrijf Code' >>ontwerp.txt
$git add -TOT
$git commit -m 'C1: Ingediende code'
$git branchKenmerken
$git kassaKenmerken
$gooide uit 'Voeg functie 1 toe' >>functie.txt
$git add -TOT
$git commit -m 'C2: Functie 1'
$gooide uit 'Voeg functie 2 toe' >>functie.txt
$git add -TOT
$git commit -m 'C3: Functie 2'
$git kassameester
$gooide uit 'Meester opnieuw aanpassen' >>ontwerp.txt
$git add -TOT
$git commit -m 'C4: Master gewijzigd'

De bovenstaande commando's hebben de volgende situatie gecreëerd:





Je kunt de geschiedenis van de twee branches bekijken om te zien welke commits ze hebben:





$git-status
Op branch master
niets te committen, werkmap opschonen
$git log --oneline
2031b83 C4: Master gewijzigd
1c0b64c C1: Ingediende code

$git kassaKenmerken
Overgeschakeld naar filiaal'Kenmerken'

$git log --oneline
93d220b C3: Functie2
ad6ddb9 C2: Functie1
1c0b64c C1: Ingediende code
ec0fb48 C0: Gestart project

Laten we nu aannemen dat je alle wijzigingen van de features branch naar onze master branch wilt brengen. U moet het proces starten vanaf de bestemming van de samenvoeging. Omdat we willen mergen in de master branch, moet je het proces vanaf daar starten. Dus laten we eens kijken naar de master branch:

$git kassameester
Overgeschakeld naar filiaal'meester'

$git-status
Op branch master
niets te committen, werkmap opschonen

Laten we nu de samenvoeging maken:



$git mergeKenmerken

Als er geen conflicten zijn bij het samenvoegen, krijgt u een teksteditor met de opmerkingen:

Vertakking samenvoegen'Kenmerken'

# Voer een commit-bericht in om uit te leggen waarom deze samenvoeging nodig is,
# vooral als het een bijgewerkte upstream samenvoegt met een topic branch.
#
# Regels die beginnen met '#' worden genegeerd en een leeg bericht wordt afgebroken
# de inzet.

U kunt de opmerkingen wijzigen of de standaard opmerkingen accepteren. De samenvoeguitvoer zou de volgende resultaten moeten weergeven:

Samenvoeging gemaakt door de'recursief'strategie.
functie.txt| 2++
1 het dossierveranderd,2invoegingen(+)
maak modus100644functie.txt

Na de samenvoeging heb je de volgende voorwaarde:

Als u de logboeken bekijkt, vindt u:

$git-status
Op branch master
niets te committen, werkmap opschonen

$git log --oneline
46539a3 C5: Vertakking samenvoegen'Kenmerken'
2031b83 C4: Master gewijzigd
93d220b C3: Functie2
ad6ddb9 C2: Functie1
1c0b64c C1: Ingediende code
ec0fb48 C0: Gestart project

U heeft de wijzigingen succesvol samengevoegd. De feature branch is echter nog steeds aanwezig.

$git branch -tot
Kenmerken
*meester

Je kunt het verwijderen met het volgende commando:

$git branch -NSKenmerken

Als je nu aanvinkt, zou je alleen de master branch moeten zien:

$git branch -tot
*meester

Conclusie

Controleer regelmatig op ongebruikte takken en verwijder deze. U wilt uw repository schoon houden om het gemakkelijk te navigeren en te begrijpen.

Verder lezen: