Darbas su sujungimu ir filialo ištrynimu
Pirmiausia sukurkime pagrindinį filialą, įdėkime keletą įsipareigojimų, sukurkime naują filialą, vadinamą „features“, pridėkime kelis įsipareigojimus, tada grįžkime į „master“ ir atlikite dar kartą. Štai komandos:
$ mkdir mygame$ cd mygame
$ git init
$ echo „Dizaino sprendimas 1:„ Brainstarm “>> dizainas.txt
$ git pridėti -A
$ git įsipareigoti -m "C0: pradėtas projektas"
$ echo „Dizaino sprendimas 2: Rašyti kodą“ >> dizainas.txt
$ git pridėti -A
$ git įsipareigoti -m "C1: Pateiktas kodas"
$ git filialo ypatybės
„$ git“ kasos funkcijos
$ echo „Pridėti 1 funkciją“ >> funkcija.txt
$ git pridėti -A
$ git įsipareigoti -m "C2: 1 funkcija"
$ echo „Pridėti 2 funkciją“ >> funkcija.txt
$ git pridėti -A
$ git įsipareigoti -m "C3: 2 bruožas"
$ git atsiskaitymo meistras
$ echo „Vėl modifikuojantis meistrą“ >> dizainas.txt
$ git pridėti -A
$ git įsipareigoti -m "C4: modifikuotas pagrindinis"
Minėtos komandos sukūrė tokią situaciją:
Galite patikrinti dviejų šakų istoriją ir sužinoti, kokius įsipareigojimus jie turi:
$ git būsenaFilialo kapitonas
nieko neįsipareigoti, darbo katalogas švarus
$ git žurnalas - tiesioginis
2031b83 C4: modifikuotas kapitonas
1c0b64c C1: pateiktas kodas
„$ git“ kasos funkcijos
Perjungtas į filialo „funkcijas“
$ git žurnalas - tiesioginis
93d220b C3: 2 funkcija
ad6ddb9 C2: 1 funkcija
1c0b64c C1: pateiktas kodas
ec0fb48 C0: pradėtas projektas
Tarkime, kad jūs norite perkelti visus pakeitimus iš funkcijų šakos į mūsų pagrindinę šaką. Procesą turėsite pradėti nuo sujungimo tikslo. Kadangi norime įsilieti į pagrindinę šaką, procesą turite pradėti iš ten. Taigi patikrinkime pagrindinį filialą:
$ git atsiskaitymo meistrasPerjungtas į filialo „master“
$ git būsena
Filialo kapitonas
nieko neįsipareigoti, darbo katalogas švarus
Dabar sukurkime sujungimą:
$ git suliejimo funkcijosJei sujungiant nėra konfliktų, atidarysite teksto redaktorių su komentarais:
Sujungti filialo „funkcijas“# Įveskite įsipareigojimo pranešimą, kad paaiškintumėte, kodėl šis sujungimas yra būtinas,
# ypač jei jis sujungia atnaujintą ankstesnį srautą į temų šaką.
#
# Eilutės, prasidedančios „#“, bus ignoruojamos, o tuščias pranešimas bus nutrauktas
# įsipareigoti.
Galite modifikuoti komentarus arba priimti numatytuosius. Sujungimo išvestyje turėtų būti rodomi tokie rezultatai:
„Rekursinės“ strategijos sujungimas.funkcija.txt | 2 ++
Pakeistas 1 failas, 2 įterpimai (+)
sukurti režimo 100644 funkciją.txt
Po sujungimo turite šią sąlygą:
Jei patikrinsite žurnalus, rasite:
$ git būsenaFilialo kapitonas
nieko neįsipareigoti, darbo katalogas švarus
$ git žurnalas - tiesioginis
46539a3 C5: Sujungti šakos „ypatybes“
2031b83 C4: modifikuotas kapitonas
93d220b C3: 2 funkcija
ad6ddb9 C2: 1 funkcija
1c0b64c C1: pateiktas kodas
ec0fb48 C0: pradėtas projektas
Sėkmingai sujungėte pakeitimus. Tačiau funkcijų šaka vis dar yra.
$ git filialas -afunkcijos
* meistras
Galite jį ištrinti naudodami šią komandą:
$ git filialas -d funkcijosJei patikrinsite dabar, turėtumėte pamatyti tik pagrindinį filialą:
$ git filialas -a* meistras
Išvada
Būtinai reguliariai tikrinkite, ar nėra nenaudojamų šakų, ir jas ištrinkite. Norite, kad saugykla būtų švari, kad ją būtų lengva naršyti ir suprasti.
Papildoma literatūra:
- https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging