Arbejde med fletning og sletning af gren
Lad os først oprette en mastergren, sætte nogle få forpligtelser, oprette en ny gren kaldet funktioner, tilføje et par forpligtelser, derefter komme tilbage til mesteren og begå igen. Her er kommandoerne:
$ mkdir mygame$ cd mygame
$ git init
$ echo "Design Decision 1: Brainstarm" >> design.txt
$ git add -A
$ git commit -m "C0: Startet projekt"
$ echo "Design Decision 2: Write Code" >> design.txt
$ git add -A
$ git commit -m "C1: indsendt kode"
$ git filialfunktioner
$ git checkout funktioner
$ echo "Tilføj funktion 1" >> funktion.txt
$ git add -A
$ git commit -m "C2: Feature 1"
$ echo "Tilføj funktion 2" >> funktion.txt
$ git add -A
$ git commit -m "C3: Feature 2"
$ git checkout master
$ echo "Modifying Master Again" >> design.txt
$ git add -A
$ git commit -m "C4: Master Modified"
Ovenstående kommandoer skabte følgende situation:
Du kan kontrollere historien for de to grene for at se, hvilke forpligtelser de har:
$ git statusPå filialmester
intet at begå, arbejder bibliotek ren
$ git log - online
2031b83 C4: Master modificeret
1c0b64c C1: Indsendt kode
$ git checkout funktioner
Skiftet til filialfunktioner
$ git log - online
93d220b C3: Funktion 2
ad6ddb9 C2: Funktion 1
1c0b64c C1: Indsendt kode
ec0fb48 C0: Startet projekt
Lad os antage, at du vil bringe alle ændringer fra funktionsgrenen til vores hovedfilial. Du bliver nødt til at starte processen fra fusionens destination. Fordi vi vil fusionere ind i mastergrenen, skal du starte processen derfra. Så lad os tjekke mastergrenen:
$ git checkout masterSkiftet til gren 'master'
$ git status
På filialmester
intet at begå, arbejder bibliotek ren
Lad os nu oprette fusionen:
$ git flettefunktionerHvis der ikke er konflikter i fusionen, får du en teksteditor åbnet med kommentarerne:
Flet filialfunktioner# Indtast en meddelelsesmeddelelse for at forklare, hvorfor denne fusion er nødvendig,
# især hvis det fletter en opdateret opstrøms ind i en emnegren.
#
# Linjer, der starter med '#', ignoreres, og en tom besked afbrydes
# begå.
Du kan ændre kommentarerne eller acceptere standardkommentarerne. Fletteoutputtet skal vise resultater som dette:
Fletning foretaget af den 'rekursive' strategi.funktion.txt | 2 ++
1 fil ændret, 2 indsættelser (+)
Opret tilstand 100644-funktion.txt
Efter fusionen har du følgende betingelse:
Hvis du tjekker logfilerne, finder du:
$ git statusPå filialmester
intet at begå, arbejder bibliotek ren
$ git log - online
46539a3 C5: Flet filialfunktioner
2031b83 C4: Master modificeret
93d220b C3: Funktion 2
ad6ddb9 C2: Funktion 1
1c0b64c C1: Indsendt kode
ec0fb48 C0: Startet projekt
Du har sammenføjet ændringerne. Funktionsgrenen er dog stadig til stede.
$ git gren -afunktioner
* mester
Du kan slette det med følgende kommando:
$ git filial -d funktionerHvis du tjekker nu, skal du kun se mastergrenen:
$ git gren -a* mester
Konklusion
Sørg for regelmæssigt at kontrollere for ubrugte grene og slette dem. Du vil holde dit arkiv rent for at gøre det let at navigere og forstå.
Yderligere læsning:
- https: // git-scm.com / book / da / v2 / Git-Branching-Basic-Branching-and-Merging