GIT filialų valdymas ir administravimas

Turinys
A šaka į Git tai yra mūsų saugyklos šaka, tai yra būdas sukurti alternatyvų kelią į pagrindinį kelią. Tai leidžia mums ieškoti naujų sprendimų nekeičiant mūsų vykdomos programos ar programos bazės.
Tačiau sąvoka šaka Nelabai aišku, kada pradedame naudoti šį įrankį, kuris kontroliuoja mūsų projektų versijas. Paprastai kitose versijų valdymo sistemose projekto su šia koncepcija pasekmės neatsižvelgiamos.
Daugelis jau naudos Git ir jie nekreipė daugiau dėmesio šakos, ir tam tikra prasme tai suprantama, nes tvarkant vieną šaka o jei kūrimą vykdo vienas asmuo, neturėtų kilti nepatogumų.
O kas, jei šis asmuo nori išbandyti kai kurias eksperimentines funkcijas, dėl kurių jo projektas gali žlugti arba tiesiog paveikti projekto stabilumą, kai kas pasakys, kad šakutė projekto ir tęskite eksperimentus, o jei patobulinimas bus sėkmingas, pagalvokite apie tai, kas padaryta šakutėje, į pagrindinį projektą. Tai tikrai šiek tiek ilgas ir nereikalingas darbas.
Pirmiau minėtu atveju tiesiog sukurkite naują šaka aptariamo projekto metu galime atlikti visus norimus pakeitimus ir eksperimentus, o pabaigoje tiesiog atlikdami sujungti arba susiliejimas su šaka pradžioje ar pagrinde mes jau prisijungsime prie visų savo pakeitimų.
Kitas atvejisKitas atvejis, kai turime darbo komandą, kurioje du žmonės, dirbantys pagal tą patį kodą, gali sukelti konfliktus Git išryškina savo galią. Mes galime sukurti struktūrą trys šakos pavyzdžiui, a filialas kiekvienam kūrėjui ir a susivienijimo šaka. Tokiu būdu kiekvienas kūrėjas gali priimti savo pakeitimus ir, manydamas, kad gali prisidėti prie projekto, siunčia juos į šaka susivienijimas, todėl kitas asmuo ar kiti komandos nariai gali juos pasiekti.
Mes jau suprantame priežastis, dėl kurių mes naudojame šakos ir mes žinome šią sąvoką, dabar pamatysime dalį, kuri yra gyvybiškai svarbi norint naudotis šia funkcija Git ir turi pavadinti mūsų šaka.
Filialo pavadinimasIš pavadinimo mes žinosime, kur šiuo metu stovime, šis vardas yra visiškai savavališkas, tai yra, kiekvienas Git galite pavadinti savo šakos kaip norite savo projekte. Paprastai Git sukurti šaka paskambino meistras Pagal numatytuosius nustatymus ir tai paprastai yra ta, kurioje yra stabili ir klaidų neturinti projekto versija, tačiau mes galime ją pervadinti ar net ištrinti, jei mums to patinka, nors patartina to nedaryti.
Kadangi galime naudoti paieškos pakaitos simbolius, galime pavadinti savo šakos hierarchiškai, pvz. 89 arba Impl_Bug / 23. Tai leidžia mums juos rasti ir sutvarkyti pagal temas. Pažiūrėkime, kaip mes pateiksime paaiškinimus į mūsų bandymų saugyklą:
Šiuo atveju turime a filialo meistras ir sukūrėme keletą šakos kurie yra skirti klaidoms išspręsti, jei vykdome komandą gito šaka konsolėje Git mūsų projekto aplanke gausime sąrašą su visais esančių filialųPažiūrėkime, kaip jis atrodo, kai jį paleidžiame:

Tada matome visų mūsų sąrašą šakos ir kitokia spalva matome šaką, kurioje esame tą tinkamą akimirką. Bet ką daryti, jei turime daug šakos ir mums reikia filtruoti tik klaidų sprendimo šakosNa, čia atsiranda pakaitos simbolių paieška. Pavyzdžiui, jei norime ieškoti tokiu būdu, turime atlikti komandą, panašią į šią:
git show-branch impl_bug / *

Pažiūrėkime, kaip tai atrodo mūsų konsolėje:

Tada galime pastebėti, kad visi šakos ir vienoje pusėje turime paskutinio komentarą įsipareigoti tai buvo padaryta jose.
Nes filialų pavadinimai Tai yra visiškai savavališka ir, vartotojo nuomone, daug kartų komandoje kyla painiavos, todėl galime vadovautis kai kuriomis rekomendacijomis ir geriausia praktika, tokiu būdu būsime geresni įrankio naudotojai:
  • Nors savo filialų pavadinime galime naudoti simbolį /, tai negali būti galutinis vardo simbolis.
  • Mes negalime dėti taško (.) po brūkšnio (/).
  • Negalime dėti dviejų taškų iš eilės (… ) vardo ribose.
  • Mes neturime naudoti specialių simbolių (~ : ? * [ ) nes šie simboliai turi reikšmę sintaksėje Git ir jie gali būti linkę į klaidas.
  • Taip pat neturėtume turėti tuščių tarpų ar valdymo simbolių ASCII.
Jei laikysimės šių gairių, savo saugykloje naudosime tinkamai, o kiti komandos nariai mums padėkos už tai, kad palengvino jų gyvenimą.
Jei turime a filialų sąrašas ir mes esame a šaka bet norime pereiti prie kito, tiesiog turime naudoti šią komandą:
„git checkout“ filialo pavadinimas

Su tuo mes pasikeisime šaka nedelsiant, todėl be problemų gali dirbti įvairiose projekto dalyse. Pažiūrėkime, kaip galime perjungti šakas mūsų bandymų saugykloje:

Kaip pastebėjome, tai yra kažkas gana paprasto, tačiau jei ką nors pakeisime šioje srityje ir to nepadarysime įsipareigoti bandydami pakeisti į kitą gausime klaidą ir Git Tai mums sako, kad turime kažką daryti, nes jei ne, pakeitimai gali būti prarasti:

Iškilus šiai problemai, turime padaryti a įsipareigoti ir tada pereiti prie kito šaka pamatysime kito turinį šaka.
Norėdami sukurti naują šaką, toliau naudosime komandą atsiskaitytitačiau šiuo atveju turime pridėti -b variantas, tai padarysime dabartinės šakos kopiją ir sukursime visiškai naują. Pažiūrėkime, kaip tai atrodo mūsų konsolėje:

Pastebime, kaip kartą sukūrė naują filialą iš karto Git nuveda mus pas jį ir mes galime pradėti dirbti tiesiogiai.
Nors tai nėra labai įprasta, yra atvejų, kai norime ištrinti šaką iš mūsų saugyklos ir Git leidžia mums tai padaryti, tik mes negalime ištrinti šakos, kurioje šiuo metu esame, kad išvengtume neatitikimų įrankiui. Atlikti šią operaciją yra taip paprasta, kaip taikyti šią komandą:
git šaka -d šakos pavadinimas

ApribojimaiTačiau yra tam tikrų apribojimų, pavyzdžiui, negalime ištrinti a šaka kas negerai įsipareigoja Kad jis šaka iš kur mes bandome jį ištrinti, neturi Git padeda išvengti informacijos praradimo, jei norime ištrinti šių savybių šaką, privalome tai padaryti sujungti mūsų šaka arba eikite į tą, kuris tokių turi įsipareigoja.
Pažiūrėkime, kaip atrodo šios komandos vykdymas konsolėje:

Jo vykdymo pabaigoje matome, kaip Git patvirtina atitinkamos šakos pašalinimą.
Kartais mes palietėme tą pačią failo eilutę dvi skirtingos šakos, tai darymo metu sujungti tai sukels mums konfliktą. Git Tai padeda mums nustatyti konflikto diferenciaciją byloje, todėl ją spręsdami turime padaryti naują įsipareigoti ir naują sujungti. Diferenciacija aptariamame faile rodoma taip:
 bet kokia eilutė <<<<<< >>>>>> dev: NewChange 

Jei norime išspręsti konfliktą, turime ištrinti turinį Git, tai yra linijos su <<<<< Y >>>>, todėl paliekame norimus pokyčius arba viską suvienodame, jau tai darydami Git nebeteiks mums klaidos ir galėsime tai padaryti sujungti paprastai.
SvarbuVienas iš svarbių dalykų yra sukurti bendra nomenklatūra, tai yra, sukurkite pavadinimų struktūrą, pagal kurią šakos priklausomai nuo jo funkcijos projekte, tokiu būdu turėsime daug daugiau tvarkos, žinoma, šioje nomenklatūroje turi būti laikomasi pamokos pradžioje paminėtos geriausios praktikos.
Baigę šį vadovėlį, galėsime daug daugiau išnaudoti savo saugykloje Git ir su juo puikiai valdyti mūsų komandą. Turime jau aprūpinti bazę valdymui šakos į Git, tai mes galime tinkamai administruoti savo pokyčius, kad galėtume kuo mažiau konfliktų, ypač dirbdami dviejų ar daugiau žmonių komandose.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave