- „Git“ yra paskirstyta versijų valdymo sistema, leidžianti stebėti visą vietinę istoriją, bendradarbiauti neprisijungus ir efektyviai valdyti pakeitimus.
- Šakojimasis ir sujungimas palengvina lygiagretų darbą su funkcijomis ir integraciją su išmaniuoju konfliktų sprendimu.
- Išplėstiniai įrankiai, tokie kaip pakartotinis bazavimas, nustatymas iš naujo ir padalijimas pusiau, leidžia išvalyti istoriją, anuliuoti pakeitimus ir rasti regresijas, siekiant pagerinti priežiūrą.
„Git“ yra revoliucinė versijų valdymo sistema , kuri pakeitė kūrėjų bendradarbiavimo programinės įrangos projektuose būdą. Dėl savo patikimų funkcijų, sklandaus integravimo ir paprasto naudojimo „Git“ tapo geriausiu pasirinkimu šaltinio kodui valdyti ir pakeitimams sekti. Šiame išsamiame vadove apžvelgsime „Git“ pasaulį, analizuodami pagrindines jo funkcijas, privalumus ir geriausią praktiką. Nesvarbu, ar esate patyręs kūrėjas, ar tik pradedate savo programavimo kelionę, šis straipsnis suteiks jums žinių ir patirties, reikalingos norint efektyviai išnaudoti „Git“ galią.
Kas yra „Git“?
„Git“ yra paskirstyta versijų valdymo sistema (DVCS), skirta sekti šaltinio kodo pakeitimus programinės įrangos kūrimo metu. Sukurta Linus Torvalds 2005 m., „Git“ įgijo milžinišką populiarumą kūrėjų bendruomenėje dėl savo greičio, efektyvumo ir lankstumo. Skirtingai nuo tradicinių centralizuotų versijų valdymo sistemų , „Git“ leidžia kūrėjams tvarkyti visą kodo saugyklos kopiją vietoje, todėl jie gali dirbti neprisijungę prie interneto ir sklandžiai bendradarbiauti su kitais komandos nariais.
Git pagrindai
Git diegimas
Prieš pasinerdami į „Git“ pasaulį, turite jį įdiegti savo sistemoje. „Git“ suderinama su „Windows“, „macOS“ ir „Linux“. Norėdami įdiegti „Git“, vadovaukitės oficialioje „Git“ svetainėje pateiktomis instrukcijomis . Įsitikinkite, kad turite naujausią „Git“ versiją, kad galėtumėte pasinaudoti naujausiomis funkcijomis ir patobulinimais.
„Git“ saugyklos inicijavimas
Norėdami pradėti naudoti „Git“, turite inicijuoti saugyklą savo projekto kataloge. Naudodami komandinę eilutę eikite į norimą katalogą ir paleiskite šią komandą:
karšta
Ši komanda sukuria paslėptą katalogą, vadinamą .git kuriame yra visi failai, reikalingi Git pakeitimams stebėti ir versijoms valdyti. Svarbu pažymėti, kad „Git“ veikia katalogo lygiu, todėl viename pirminiame kataloge galite turėti kelias „Git“ saugyklas.
Pakeitimų paruošimas ir patvirtinimas
Kai inicijuojate „Git“ saugyklą, galite pradėti stebėti kodo pakeitimus. „Git“ naudoja trijų etapų procesą: modifikuoti failus, atlikti pakeitimus ir atlikti pakeitimus.
Norėdami atlikti pakeitimus, naudokite šią komandą:
git pridėti
Ši komanda prideda nurodytą failą į sustojimo sritį ir paruošia jį kitam įvykdymui. Norėdami atlikti visus pakeitimus saugykloje, naudokite:
git pridėti
Atlikę pakeitimus, turite įpareigoti juos sukurti naują versiją kodo saugykloje. Norėdami patvirtinti pakeitimus, naudokite šią komandą:
git commit -m "Patvirtinti pranešimą"
Įsipareigojimo pranešimas turi būti aprašomasis ir glaustas, apibendrinant įsipareigojimo pakeitimus. Gera praktika yra pateikti prasmingus įsipareigojimo pranešimus, kuriuos gali lengvai suprasti kiti kūrėjai.
Išsišakojimas ir sujungimas
Viena iš galingiausių „Git“ savybių yra jos gebėjimas efektyviai valdyti filialus. Šakymas leidžia kūrėjams vienu metu dirbti su skirtingomis funkcijomis ar klaidų taisymais, netrukdant vienas kito kodui. Git sukuria lengvą žymeklį į konkretų įsipareigojimą, leidžiantį kūrėjams lengvai perjungti šakas.
Norėdami sukurti naują šaką, naudokite šią komandą:
git šaka
Ši komanda sukuria naują šaką dabartiniame įsipareigojime. Norėdami perjungti į naujai sukurtą filialą, naudokite:
git atsiskaitymas
Kūrėjai gali dirbti su atitinkamomis šakomis savarankiškai, atlikti pakeitimus ir juos įpareigoti. Kai pakeitimai yra paruošti integruoti į pagrindinį kodą, atliekama sujungimo operacija. Git sumaniai sujungia skirtingose šakose atliktus pakeitimus, užtikrindamas sklandų integravimo procesą.
Norėdami sujungti vieną šaką į kitą, naudokite šią komandą:
git sujungimas
Git atlieka automatinį sujungimą, išsprendžia konfliktus, jei jie kyla proceso metu. Konfliktų sprendimas apima neautomatinį nesuderinamo kodo peržiūrą ir modifikavimą, kad būtų užtikrintas darnus sujungimas be klaidų.
Pakeitimų gavimas ir pateikimas
Bendradarbiavimas yra Git filosofijos pagrindas. „Git“ leidžia kūrėjams dalytis savo pakeitimais su kitais, nusiunčiant ir gaunant įsipareigojimus į nuotolines saugyklas ir iš jų.
Norėdami perkelti vietinius pakeitimus į nuotolinę saugyklą, naudokite šią komandą:
git push kilmė
Ši komanda perkelia jūsų įsipareigojimus į nurodytą šaką nuotolinėje saugykloje. Įsitikinkite, kad turite reikiamus leidimus perkelti pakeitimus į nuotolinę saugyklą.
Norėdami gauti naujausius pakeitimus iš nuotolinės saugyklos, naudokite:
git pull kilmė
Ši komanda paima naujausius įsipareigojimus iš nurodytos šakos ir sujungia juos į vietinį filialą. Norint neatsilikti nuo naujausių kodų saugyklos pokyčių, būtina reguliariai tikrinti pakeitimus.
Pažangios Git technologijos
Git Reset
Kartais gali tekti anuliuoti pakeitimus arba perkelti HEAD žymeklį į kitą įsipareigojimą. Git pateikia komandą reset valdyti tokio tipo situacijas. Komanda reset leidžia iš naujo nustatyti saugyklą į konkretų įsipareigojimą, atmetant visus vėlesnius įsipareigojimus.
Norėdami iš naujo nustatyti saugyklą į konkretų įsipareigojimą, naudokite šią komandą:
git atstatymas
Ši komanda perkelia HEAD žymeklį į nurodytą įvykdymą, efektyviai atmesdama visus vėlesnius įsipareigojimus. Naudodami komandą svarbu būti atsargiems reset, nes visam laikui pašalina įsipareigojimus iš saugyklos.
Git reorganizavimas
Git rebase yra galinga komanda, leidžianti modifikuoti įsipareigojimų istoriją iš naujo nustatant, sujungiant arba ištrinant įsipareigojimus. Perdengimas ypač naudingas, kai norite išlaikyti švarią, linijinę įvykdymo istoriją.
Norėdami atlikti interaktyvią bazę, naudokite šią komandą:
git rebase -i
Ši komanda atidaro interaktyvų redaktorių , leidžiantį modifikuoti pakeitimus. Galite sujungti kelis pakeitimus į vieną, redaguoti pakeitimų pranešimus arba ištrinti nereikalingus pakeitimus. Interaktyvus perkūrimas suteikia išsamią pakeitimų istorijos kontrolę, leidžiančią sukurti glaustą ir logišką laiko juostą.
Git dvejetainė paieška
Kai derinate sudėtingas kodo problemas, „Git“ dvejetainė paieška gali būti puiki pagalba. „Git“ dvejetainė paieška leidžia ieškoti įsipareigojimų istorijoje, padedant nustatyti tikslų įsipareigojimą, dėl kurio atsirado klaida arba regresija.
Norėdami pradėti dvejetainę paieškos seansą, naudokite šią komandą:
git bisect pradžia
„Git“ dvejetainėje paieškoje reikia nurodyti „gerą“ ir „blogą“ įvykdymą, nurodant, kur klaidos nebuvo ir kur ji buvo. „Git“ automatiškai atliks dvejetainę paiešką, peržiūrės skirtingus įsipareigojimus ir leis jums išbandyti savo kodą, kol bus nustatytas netinkamas įsipareigojimas.
Git DUK
1: Kuo skiriasi „Git“ ir „GitHub“?
„Git“ ir „GitHub“ dažnai vartojami kaip sinonimai, tačiau jie atlieka skirtingus tikslus. „Git“ yra versijų kontrolės sistema, leidžianti sekti kodo saugyklos pakeitimus, o „GitHub“ yra žiniatinklio pagrindu veikianti „Git“ saugyklų talpinimo paslauga. „GitHub“ teikia papildomas bendradarbiavimo funkcijas, tokias kaip problemų stebėjimas, užklausų gavimas ir projektų valdymo įrankiai.
2: Ar „Git“ gali tvarkyti didelius failus?
Git pirmiausia skirtas valdyti šaltinio kodą, kurį paprastai sudaro maži teksto failai. Nors „Git“ gali tvarkyti didesnius failus, jis nėra optimizuotas efektyviai juos valdyti. Jei norite naudoti didelius dvejetainius failus, apsvarstykite galimybę naudoti specializuotus įrankius, pvz., „Git LFS“ (didelę failų saugyklą) arba specialias versijų valdymo sistemas, pvz., „Perforce“.
3: Kaip galiu grąžinti įsipareigojimą naudojant Git?
Norėdami grąžinti įsipareigojimą Git, galite naudoti komandą git revert. Grąžinus įsipareigojimą sukuriamas naujas įsipareigojimas, kuris anuliuoja pradinio įsipareigojimo įvestus pakeitimus ir jį veiksmingai atšaukia. Pradinis įsipareigojimas lieka saugykloje, išsaugant įsipareigojimų istoriją.
git revert
4: Ar „Git“ skirtas tik kūrėjams?
Nors „Git“ daugiausia naudoja kūrėjai šaltinio kodui valdyti, jo privalumai gerokai viršija programavimą, ir egzistuoja tokios alternatyvos kaip „Mercurial“ . „Git“ versijų valdymo galimybės gali būti naudingos tvarkant bet kokio tipo tekstinį turinį, pvz., dokumentaciją, konfigūracijos failus ar net rašant knygas. „Git“ lankstumas ir naudojimo paprastumas daro jį vertingu įrankiu visiems, dirbantiems su failais, kurie laikui bėgant keičiasi.
5: Ar galiu naudoti „Git“ be komandinės eilutės?
Nors komandinė eilutė suteikia galingiausią ir lanksčiausią „Git“ patirtį, yra keletas grafinių vartotojo sąsajų (GUI), kurios suteikia vizualesnę ir patogesnę „Git“ sąsają. Kai kurie populiarūs „Git GUI“ klientai yra „Sourcetree“, „GitKraken“ ir „GitHub Desktop“. Šie įrankiai leidžia atlikti daugumą Git operacijų nenaudojant komandinės eilutės.
6: Kaip galiu prisidėti prie atvirojo kodo projektų naudojant Git?
Prisidėjimas prie atvirojo kodo projektų naudojant Git apima kelis esminius veiksmus. Pirmiausia turite sukurti projekto, prie kurio norite prisidėti, saugyklą. Tai sukuria saugyklos kopiją jūsų „GitHub“ paskyroje. Tada klonuokite šakotąją saugyklą į vietinį kompiuterį, atlikite reikiamus pakeitimus ir perkelkite juos į šakotąją saugyklą. Galiausiai sukurkite ištraukimo užklausą į pradinę saugyklą, siūlydami pakeitimus peržiūrėti ir integruoti.
Išvada
„Git“ pakeitė kūrėjų bendradarbiavimo programinės įrangos projektuose būdą. Jo paskirstytas pobūdis, galingos šakojimo ir sujungimo galimybės bei efektyvus versijų valdymas daro jį nepakeičiamu šiuolaikinių kūrimo darbų įrankiu. Įvaldę pagrindines Git sąvokas ir pažangias technologijas, kūrėjai gali efektyviai valdyti savo kodų saugyklas, sekti pakeitimus ir sklandžiai bendradarbiauti su komandos nariais. Nesvarbu, ar dirbate su asmeniniais projektais, ar prisidedate prie atvirojo kodo projektų, „Git“ suteikia jums galimybę kontroliuoti savo kodą ir skatinti naujoves.