Arbeide med sammenslåing og sletting av gren
La oss først lage en hovedgren, legge inn noen få forpliktelser, opprette en ny gren som heter funksjoner, legge til noen få forpliktelser, så komme tilbake til mesteren og forplikte oss igjen. Her er kommandoene:
$ mkdir mygame$ cd mygame
$ git init
$ echo "Design Decision 1: Brainstarm" >> design.tekst
$ git add -A
$ git commit -m "C0: Started Project"
$ echo "Design Decision 2: Write Code" >> design.tekst
$ git add -A
$ git commit -m "C1: sendt kode"
$ git grenfunksjoner
$ git utsjekkingsfunksjoner
$ echo funksjonen "Legg til funksjon 1" >>.tekst
$ git add -A
$ git commit -m "C2: Feature 1"
$ echo "Legg til funksjon 2" >> -funksjonen.tekst
$ git add -A
$ git commit -m "C3: Feature 2"
$ git checkout master
$ echo "Modifying Master Again" >> design.tekst
$ git add -A
$ git commit -m "C4: Master Modified"
Ovennevnte kommandoer skapte følgende situasjon:
Du kan sjekke historien til de to grenene for å se hvilke forpliktelser de har:
$ git-statusPå grenmester
ingenting å begå, arbeider katalogen ren
$ git log --online
2031b83 C4: Master Modified
1c0b64c C1: Sendt kode
$ git utsjekkingsfunksjoner
Byttet til filialfunksjoner
$ git log --online
93d220b C3: Funksjon 2
ad6ddb9 C2: Funksjon 1
1c0b64c C1: Sendt kode
ec0fb48 C0: Startet prosjekt
La oss anta at du vil bringe alle endringene fra funksjonsgrenen til hovedgrenen vår. Du må starte prosessen fra fusjonsmålet. Fordi vi ønsker å fusjonere inn i hovedgrenen, må du starte prosessen derfra. Så la oss sjekke ut hovedgrenen:
$ git checkout masterByttet til gren 'master'
$ git-status
På grenmester
ingenting å begå, arbeider katalogen ren
La oss nå lage sammenslåingen:
$ git merge funksjonerHvis det ikke er noen konflikter i sammenslåingen, får du en tekstredigerer som åpner med kommentarene:
Slå sammen filialens funksjoner# Skriv inn en meldingsmelding for å forklare hvorfor denne sammenslåingen er nødvendig,
# spesielt hvis det slår sammen en oppdatert oppstrøms i en emnegren.
#
# Linjer som begynner med '#' vil bli ignorert, og en tom melding avbrytes
# forpliktelsen.
Du kan endre kommentarene eller godta standardinnstillingene. Sammenslåingsoutputen skal vise resultater som dette:
Sammenslåing laget av den 'rekursive' strategien.trekk.txt | 2 ++
1 fil endret, 2 innsettinger (+)
opprett modus 100644-funksjonen.tekst
Etter sammenslåingen har du følgende tilstand:
Hvis du sjekker loggene, finner du:
$ git-statusPå grenmester
ingenting å begå, arbeider katalogen ren
$ git log --online
46539a3 C5: Slå sammen filialens funksjoner
2031b83 C4: Master Modified
93d220b C3: Funksjon 2
ad6ddb9 C2: Funksjon 1
1c0b64c C1: Sendt kode
ec0fb48 C0: Startet prosjekt
Du har slått sammen endringene. Funksjonsgrenen er imidlertid fremdeles til stede.
$ git gren -afunksjoner
* mester
Du kan slette den med følgende kommando:
$ git gren -d funksjonerHvis du sjekker nå, bør du bare se hovedgrenen:
$ git gren -a* mester
Konklusjon
Forsikre deg om at du regelmessig ser etter ubrukte grener og sletter dem. Du vil holde arkivet rent for å gjøre det enkelt å navigere og forstå.
Videre lesning:
- https: // git-scm.com / book / no / v2 / Git-Branching-Basic-Branching-and-Merging