Arbeta med sammanslagning och filialradering
Låt oss först skapa en huvudgren, lägga in några åtaganden, skapa en ny gren som kallas funktioner, lägg till några åtaganden, sedan komma tillbaka till master och engagera igen. Här är kommandona:
$mkdirmitt spel
$CDmitt spel
$git init
$kastade ut 'Designbeslut 1: Brainstarm' >>design.txt
$git lägg till -TILL
$git begå -m 'C0: Startat projekt'
$kastade ut 'Designbeslut 2: Skriv kod' >>design.txt
$git lägg till -TILL
$git begå -m 'C1: Inlämnad kod'
$git grenfunktioner
$git checkoutfunktioner
$kastade ut 'Lägg till funktion 1' >>feature.txt
$git lägg till -TILL
$git begå -m 'C2: Feature 1'
$kastade ut 'Lägg till funktion 2' >>feature.txt
$git lägg till -TILL
$git begå -m 'C3: Feature 2'
$git checkoutbemästra
$kastade ut 'Modifiera mästaren igen' >>design.txt
$git lägg till -TILL
$git begå -m 'C4: Master Modified'
Kommandona ovan skapade följande situation:
Du kan kolla historiken för de två grenarna för att se vilka åtaganden de har:
$git -status
På filialmästare
inget att göra, arbetskatalogen ren
$git -logg --en linje
2031b83 C4: Master modifierad
1c0b64c C1: Skickad kod
$git checkoutfunktioner
Bytte till gren'funktioner'
$git -logg --en linje
93d220b C3: Funktion2
ad6ddb9 C2: Funktion1
1c0b64c C1: Skickad kod
ec0fb48 C0: Startat projekt
Låt oss nu anta att du vill föra alla ändringar från funktionsgrenen till vår huvudgren. Du måste starta processen från sammanslagningens destination. Eftersom vi vill gå samman i huvudgrenen måste du initiera processen därifrån. Så låt oss kolla in huvudgrenen:
$git checkoutbemästraBytte till gren'bemästra'
$git -status
På filialmästare
inget att göra, arbetskatalogen ren
Låt oss nu skapa sammanslagningen:
$git slå sammanfunktioner
Om det inte finns några konflikter i sammanslagningen får du en textredigerare som öppnar med kommentarerna:
Slå samman gren'funktioner'# Ange ett bindande meddelande 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
# åtagandet.
Du kan ändra kommentarerna eller acceptera de vanliga. Sammanslagningsutmatningen ska visa resultat så här:
Sammanfogning gjord av'rekursiv'strategi.feature.txt| 2++
1 filändrats,2insättningar(+)
skapa läge100644feature.txt
Efter sammanslagningen har du följande villkor:
Om du kontrollerar loggarna hittar du:
$git -statusPå filialmästare
inget att göra, arbetskatalogen ren
$git -logg --en linje
46539a3 C5: Slå ihop gren'funktioner'
2031b83 C4: Master modifierad
93d220b C3: Funktion2
ad6ddb9 C2: Funktion1
1c0b64c C1: Skickad kod
ec0fb48 C0: Startat projekt
Du har lyckats slå samman ändringarna. Funktionsgrenen finns dock fortfarande kvar.
$git gren -tillfunktioner
*bemästra
Du kan ta bort det med följande kommando:
$git gren -dfunktionerOm du kontrollerar nu bör du bara se huvudgrenen:
$git gren -till*bemästra
Slutsats
Se till att du regelbundet söker efter oanvända grenar och tar bort dem. Du vill hålla ditt arkiv rent för att göra det enkelt att navigera och förstå.