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 kassameesterOvergeschakeld 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-statusOp 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 -totKenmerken
*meester
Je kunt het verwijderen met het volgende commando:
$git branch -NSKenmerkenAls 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.