Arbeta med sammanslagning och radering av grenar
Låt oss först skapa en huvudfilial, lägga in några åtaganden, skapa en ny gren som heter funktioner, lägga till några åtaganden, sedan komma tillbaka till befälhavaren och begå igen. Här är kommandona:
$ mkdir mygame$ cd mygame
$ git init
$ echo "Design Decision 1: Brainstarm" >> design.Text
$ git add -A
$ git commit -m "C0: Started Project"
$ echo "Design Decision 2: Write Code" >> design.Text
$ git add -A
$ git commit -m "C1: Inskickad kod"
$ git filialfunktioner
$ git kassafunktioner
$ echo "Lägg till funktion 1" >> -funktionen.Text
$ git add -A
$ git commit -m "C2: Feature 1"
$ echo "Lägg till funktion 2" >> -funktionen.Text
$ git add -A
$ git commit -m "C3: Feature 2"
$ git checkout master
$ echo "Modifying Master Again" >> design.Text
$ git add -A
$ git commit -m "C4: Master Modified"
Ovanstående kommandon skapade följande situation:
Du kan kontrollera historien för de två filialerna för att se vilka åtaganden de har:
$ git-statusPå filialmästaren
inget att begå, arbetar katalogen ren
$ git log - online
2031b83 C4: Master Modified
1c0b64c C1: Inlämnad kod
$ git kassafunktioner
Bytt till filialfunktioner
$ git log - online
93d220b C3: Funktion 2
ad6ddb9 C2: Funktion 1
1c0b64c C1: Inlämnad kod
ec0fb48 C0: Startat projekt
Låt oss nu anta att du vill ta alla ändringar från funktionsgrenen till vår huvudfilial. Du måste starta processen från fusionens destination. Eftersom vi vill gå samman med huvudgrenen måste du starta processen därifrån. Så låt oss kolla in huvudgrenen:
$ git checkout masterBytt till filial "master"
$ git-status
På filialmästaren
inget att begå, arbetar katalogen ren
Låt oss nu skapa sammanslagningen:
$ git merge-funktionerOm det inte finns några konflikter i sammanslagningen får du en textredigerare med kommentarer:
Slå samman filialens funktioner# Ange ett engagemangsmeddelande för att förklara varför denna sammanslagning är nödvändig,
# särskilt om det slår samman en uppdaterad uppströms till en ämnesgren.
#
# Rader som börjar med '#' ignoreras och ett tomt meddelande avbryts
# förpliktelsen.
Du kan ändra kommentarerna eller acceptera standardkommentarerna. Sammanfogningsutgången ska visa resultat så här:
Sammanfogning görs med den "rekursiva" strategin.funktion.txt | 2 ++
1 fil ändrad, 2 infogningar (+)
skapa läge 100644-funktionen.Text
Efter sammanslagningen har du följande villkor:
Om du kontrollerar loggarna hittar du:
$ git-statusPå filialmästaren
inget att begå, arbetar katalogen ren
$ git log - online
46539a3 C5: Slå samman filialens funktioner
2031b83 C4: Master Modified
93d220b C3: Funktion 2
ad6ddb9 C2: Funktion 1
1c0b64c C1: Inlämnad kod
ec0fb48 C0: Startat projekt
Du har slagit samman ändringarna. Funktionsgrenen är dock fortfarande närvarande.
$ git gren -afunktioner
* mästare
Du kan radera det med följande kommando:
$ git gren -d funktionerOm du checkar nu ska du bara se huvudgrenen:
$ git gren -a* mästare
Slutsats
Se till att du regelbundet letar efter oanvända grenar och tar bort dem. Du vill hålla ditt förråd rent för att göra det enkelt att navigera och förstå.
Vidare läsning:
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging