Darbas su sujungimu ir filialo ištrynimu
Pirmiausia sukurkime pagrindinę šaką, įdėkime kelis įsipareigojimus, sukurkime naują šaką, vadinamą funkcijomis, pridėkime kelis įsipareigojimus, tada grįžkime prie pagrindinio ir vėl įsipareigokime. Štai komandos:
$mkdirmano žaidimas
$CDmano žaidimas
$git init
$išmetė „1 dizaino sprendimas:„ Brainstarm “ >>dizainas.txt
$pridėk -TO
$git įsipareigoti -m „C0: pradėtas projektas“
$išmetė „2 dizaino sprendimas: parašykite kodą“ >>dizainas.txt
$pridėk -TO
$git įsipareigoti -m „C1: pateiktas kodas“
$gito šakafunkcijos
$git kasafunkcijos
$išmetė „Pridėti 1 funkciją“ >>feature.txt
$pridėk -TO
$git įsipareigoti -m „C2: 1 funkcija“
$išmetė „Pridėti 2 funkciją“ >>feature.txt
$pridėk -TO
$git įsipareigoti -m „C3: 2 funkcija“
$git kasameistras
$išmetė „Vėl keičiamas meistras“ >>dizainas.txt
$pridėk -TO
$git įsipareigoti -m „C4: pagrindinis modifikuotas“
Pirmiau pateiktos komandos sukūrė tokią situaciją:
Galite patikrinti abiejų filialų istoriją ir sužinoti, kokius įsipareigojimus jie turi:
$git būsena
Ant šakos meistro
nieko įsipareigoti, švarus darbo katalogas
$git žurnalas --viena linija
2031b83 C4: pagrindinis modifikuotas
1c0b64c C1: pateiktas kodas
$git kasafunkcijos
Perjungta į šaką'funkcijos'
$git žurnalas --viena linija
93d220b C3: funkcija2
ad6ddb9 C2: funkcija1
1c0b64c C1: pateiktas kodas
ec0fb48 C0: pradėtas projektas
Tarkime, jūs norite visus pakeitimus iš funkcijų šakos perkelti į mūsų pagrindinę šaką. Turėsite pradėti procesą nuo sujungimo tikslo. Kadangi norime įsilieti į pagrindinę šaką, turite pradėti procesą iš ten. Taigi, pažvelkime į pagrindinę šaką:
$git kasameistrasPerjungta į šaką'meistras'
$git būsena
Ant šakos meistro
nieko įsipareigoti, švarus darbo katalogas
Dabar sukurkime sujungimą:
$git susilietifunkcijos
Jei sujungimo metu nėra konfliktų, atsidarys teksto redaktorius su komentarais:
Sujungti filialą'funkcijos'# Įveskite įsipareigojimo pranešimą, kad paaiškintumėte, kodėl šis sujungimas yra būtinas,
# ypač jei jis sujungia atnaujintą srautą į temos šaką.
#
# Eilutės, prasidedančios „#“, bus ignoruojamos, o tuščias pranešimas nutraukiamas
# įsipareigojimas.
Galite keisti komentarus arba priimti numatytuosius. Sujungimo išvestis turėtų rodyti tokius rezultatus:
Sujungimas, kurį atliko„rekursinis“strategija.feature.txt| 2++
1 failąpasikeitė,2įterpimai(+)
sukurti režimą100644feature.txt
Po sujungimo turite tokią sąlygą:
Jei patikrinsite žurnalus, rasite:
$git būsenaAnt šakos meistro
nieko įsipareigoti, švarus darbo katalogas
$git žurnalas --viena linija
46539a3 C5: Sujungti filialą'funkcijos'
2031b83 C4: pagrindinis modifikuotas
93d220b C3: funkcija2
ad6ddb9 C2: funkcija1
1c0b64c C1: pateiktas kodas
ec0fb48 C0: pradėtas projektas
Sėkmingai sujungėte pakeitimus. Tačiau funkcijų šaka vis dar egzistuoja.
$gito šaka -įfunkcijos
*meistras
Galite jį ištrinti naudodami šią komandą:
$gito šaka -dfunkcijosJei tikrinate dabar, turėtumėte matyti tik pagrindinę šaką:
$gito šaka -į*meistras
Išvada
Būtinai reguliariai tikrinkite, ar nėra nepanaudotų šakų, ir ištrinkite jas. Norite, kad saugykla būtų švari, kad būtų lengviau naršyti ir suprasti.