„Git“ įvadas: kas tai yra ir kaip juo naudotis

„Git“ yra atvirojo kodo paskirstytos versijų valdymo sistema . Dabar tai yra daugybė žodžių Gitui apibrėžti.

Leiskite man jį suskaidyti ir paaiškinti formuluotę:

  • Valdymo sistema: tai iš esmės reiškia, kad „Git“ yra turinio stebėjimo priemonė. Taigi „Git“ gali būti naudojamas turiniui saugoti - jis dažniausiai naudojamas kodui saugoti dėl kitų jo teikiamų funkcijų.
  • Versijų valdymo sistema : „Git“ saugomas kodas nuolat keičiasi, kai pridedama daugiau kodo. Be to, daugelis kūrėjų gali lygiagrečiai pridėti kodą. Taigi versijų valdymo sistema padeda tai tvarkyti išlaikydama įvykusių pokyčių istoriją. Be to, „Git“ teikia tokias funkcijas kaip filialai ir sujungimai, kuriuos aptarsiu vėliau.
  • Paskirstyta versijų valdymo sistema : „Git“ turi nuotolinę saugyklą, kuri saugoma serveryje, ir vietinę saugyklą, kuri saugoma kiekvieno kūrėjo kompiuteryje. Tai reiškia, kad kodas saugomas ne tik centriniame serveryje, bet visa kodo kopija yra visuose kūrėjų kompiuteriuose. „Git“ yra paskirstytoji versijų valdymo sistema, nes kodas yra kiekvieno kūrėjo kompiuteryje. Toliau šiame straipsnyje paaiškinsiu nuotolinių ir vietinių saugyklų sąvoką.

Kodėl reikalinga tokios versijos valdymo sistema kaip „Git“

Tikrojo gyvenimo projektuose paprastai dirba keli kūrėjai. Taigi, norint užtikrinti, kad tarp kūrėjų nebūtų kodų konfliktų, reikalinga tokios versijos valdymo sistema kaip „Git“.

Be to, reikalavimai tokiems projektams dažnai keičiasi. Taigi versijų valdymo sistema leidžia kūrėjams grįžti ir grįžti prie senesnės kodo versijos.

Galiausiai, kartais keli lygiagrečiai vykdomi projektai apima tą pačią kodų bazę. Tokiu atveju „Git“ filialo samprata yra labai svarbi.

Pradėkime naudotis „Git“ dabar

Užuot paminėjęs visas sąvokas iš karto, aš paaiškinsiu „Git“ sąvokas pavyzdžiu, kad būtų lengviau jas sekti.

Atsisiųskite „git“

Ši nuoroda pateikia išsamią informaciją, kaip įdiegti „Git“ keliose operacinėse sistemose:

//git-scm.com/book/en/v2/Getting-Started-Installing-Git

Patikrinkite, ar „Git“ įdiegta, naudodami šią komandų eilutės komandą:

git --version

Sukurkite savo vietinę „Git“ saugyklą

Kompiuteryje sukurkite aplanką savo projektui. Paskambinkime projekto aplankui simple-git-demo.

Eikite į savo projekto aplanką ir pridėkite vietinę „Git“ saugyklą prie projekto naudodami šias komandas:

cd simple-git-demo git init

git initKomanda prideda vietos Git saugyklos projektą.

Dabar pridėkime nedidelį kodą

Sukurkite failą, vadinamą demo.txtprojekto aplanke, ir į jį pridėkite šį tekstą:

Initial Content

Čia mes demonstruosime tik paprastą tekstą, o ne faktinį kodą, nes šiame straipsnyje pagrindinis dėmesys skiriamas „Git“, o ne jokiai konkrečiai programavimo kalbai.

Kodo nustatymas ir vykdymas

Įsipareigojimas yra procesas, kurio metu kodas pridedamas prie vietinės saugyklos . Prieš įvedant kodą, jis turi būti sustojimo srityje . Sustojimo sritis yra skirta stebėti visus failus, kurie bus priskirti.

Failas, kuris nėra pridėtas prie sustojimo zonos, nebus priskirtas. Tai suteikia kūrėjui galimybę kontroliuoti, kuriuos failus reikia priskirti.

Inscenizacija

Norėdami sutvarkyti failą, naudokite šią komandą:

git add demo.txt

Jei norite pridėti kelis failus, galite naudoti:

git add file1 file2 file3

Jei norite pridėti visus failus, esančius projekto aplanke, į sustojimo sritį, naudokite šią komandą:

git add .

Naudokite tai atsargiai, nes prie projekto vietos pridedami visi jūsų projekto failai ir aplankai.

Įsipareigojimas

Norėdami atlikti failą, naudokite šią komandą:

git commit -m "Initial Commit"

„Pradinis įsipareigojimas“ yra įsipareigojimo pranešimas. Įveskite atitinkamą įsipareigojimo pranešimą, nurodydami, kokie kodo pakeitimai buvo atlikti tam tikrame įsipareigojime.

„Git“ būsena ir „Git“ žurnalas

Dabar pakeiskite demo.txtfailą ir pridėkite šį fragmentą:

Initial Content Adding more Content

Statusas

Naudokite git statusnorėdami sužinoti informaciją apie tai, kokie failai yra modifikuoti ir kokie failai yra sustojimo srityje - tai rodo ir kitą informaciją, kurios kol kas galime nepaisyti.

Norėdami pamatyti būseną, naudokite šią komandą:

git status

Būsena rodo, kad demo.txtmodifikuota ir dar nėra sustojimo srityje.

Dabar pridėkime demo.txtprie sustojimo srities ir atlikime tai naudodami šias komandas:

git add demo.txt git commit -m "demo.txt file is modified"

Žurnalas

Naudokite git logatsispausdinti visus iki šiol atliktus įsipareigojimus.

Tam naudojama komanda yra:

git log

Žurnale rodomas kiekvieno įsipareigojimo autorius, įsipareigojimo data ir pranešimas apie įsipareigojimą.

Filialai

Iki šiol mes nesame sukūrę jokio filialo „Git“. Pagal numatytuosius nustatymus „Git“ įsipareigojimai eina į pagrindinį šaką.

Kas yra filialas?

Filialas yra ne kas kita, kaip nuoroda į naujausią įsipareigojimą „Git“ saugykloje. Taigi šiuo metu mūsų pagrindinis filialas yra antrojo įsipareigojimo rodiklis “demo.txt file is modified”.

Kodėl reikia kelių filialų?

Norint palaikyti kelis lygiagrečius pokyčius, reikia kelių filialų. Žiūrėkite žemiau esantį paveikslėlį, kad pamatytumėte, kaip veikia šakos.

Iš pradžių įsipareigokite 1 ir 2 įsipareigokite pagrindiniame filiale. Po 2 įsipareigojimo sukuriamas naujas filialas, vadinamas „Test“, o 3 ir 4 įsipareigojimai pridedami prie bandymo šakos.

Tuo pačiu metu prie pagrindinio šakos pridedami skirtingi įsipareigojimai 3 ir 4 įsipareigojimai. Čia galime pamatyti, kad po „Commit 2“ atliekami du lygiagrečiai pokyčiai 2 atskirose šakose.

Testavimo skyrius ir pagrindinis skyrius čia išsiskyrė ir turi skirtingą kodą - naudojant bandomąjį skyrių, kodas gali būti sujungtas su pagrindiniu filialu git merge. Tai bus aptarta vėliau.

Sukurkite naują filialą vietiniame

Sukurkite naują filialą, vadinamą test, naudodami šią komandą:

git branch test

Ši komanda sukuria testšaką.

Mes vis dar esame pagrindinės šakos kontekste. Norint pereiti prie test filialo. naudokite šią komandą:

git checkout test

Dabar mes esame testfiliale.

Galite išvardyti visus vietinius filialus naudodami šią komandą:

git branch

Atlikite kai kuriuos įsipareigojimus naujame filiale

Pakeiskite demo.txtpridėdami šį fragmentą:

Initial Content Adding more Content Adding some Content from test Branch

Dabar suplanuokite ir įsipareigokite naudodami šias komandas:

git add demo.txt git commit -m "Test Branch Commit"

Šis įsipareigojimas buvo atliktas bandymo skyriuje, o dabar bandomasis skyrius lenkia pagrindinį skyrių vienu įsipareigojimu, nes bandymo skyriuje taip pat yra 2 pagrindinio skyriaus įsipareigojimai.

„Test Branch“ įvykdymo istoriją galite patikrinti naudodami:

git log

Susijungimas

Šiuo metu „Test Branch“ lenkia magistrą 1 įsipareigojimu. Tarkime, kad dabar norime, kad visas testavimo skyriaus kodas būtų grąžintas į pagrindinį skyrių. Čia git mergeyra labai naudinga.

Norėdami sujungti kodą iš bandymo šakos į pagrindinį filialą, atlikite šiuos veiksmus:

Pirmiausia grįžkite į pagrindinį filialą:

git checkout master

Tada paleiskite mergekomandą:

git merge test

Paleidus šias 2 komandas, sujungimas turėtų būti sėkmingas. Šiame pavyzdyje nėra jokių konfliktų.

Tačiau realiuose projektuose kils konfliktų, kai bus atliekamas sujungimas. Konflikto sprendimas yra susijęs su patirtimi, todėl daugiau dirbdami su „Git“ galėsite užkirsti kelią konfliktų sprendimui.

Bėk git logdabar ir jūs pastebėsite, kad meistras taip pat turi 3 įsipareigojimus.

Nuotolinė „Git“ saugykla

Iki šiol dirbome tik vietinėje saugykloje. Kiekvienas kūrėjas dirbs savo vietinėje saugykloje, tačiau galų gale jie nustums kodą į nuotolinę saugyklą. Kai kodas yra nuotolinėje saugykloje, kiti kūrėjai gali pamatyti ir modifikuoti tą kodą.

„GitHub“

Čia nuotolinei saugyklai naudosime „GitHub“.

Eikite į //github.com/ ir sukurkite paskyrą.

Užsiregistravę „GitHub“ pagrindiniame puslapyje, spustelėkite Pradėti projektą, kad sukurtumėte naują „Git“ saugyklą. Suteikite saugyklai pavadinimą ir spustelėkite „Kurti saugyklą“

Pavadinkite kaip git-blog-demo.

Tai sukurs nuotolinę saugyklą „GitHub“, o kai atidarysite saugyklą, atsidarys toks puslapis kaip žemiau pateiktas vaizdas:

Saugyklos URL yra paryškinta dalis //github.com/aditya-sridhar/git-blog-demo.git

Norėdami nukreipti vietinę saugyklą į nuotolinę saugyklą, naudokite šią komandą:

git remote add origin [repository url]

Gitas Pushas

Norėdami perkelti visą kodą iš vietinės saugyklos į nuotolinę saugyklą, naudokite šią komandą:

git push -u origin master

Tai nukreipia kodą iš pagrindinio filialo vietinėje saugykloje į pagrindinį filialą nuotolinėje saugykloje.

Papildomos komandos

Git Pull

git pullyra naudojamas naujausiems pakeitimams iš nuotolinės saugyklos perkelti į vietinę saugyklą. Nuotolinį saugyklos kodą nuolat keičia įvairūs kūrėjai, todėl jis git pull yra būtinas:

git pull origin master

Gitas Klonas

git cloneyra naudojamas klonuoti esamą nuotolinę saugyklą į jūsų kompiuterį. Tam skirta komanda:

git clone [repository url]

Sveikinimai

Dabar jūs žinote pagrindus, kaip naudoti „Git“, todėl tęskite ir tyrinėkite daugiau!

Netrukus paskelbsiu dar vieną straipsnį apie šiek tiek pažangesnes „Git“ koncepcijas. Sekite naujienas!

Apie autorių

Aš myliu technologijas ir laikausi technologijų pažangos. Man taip pat patinka padėti kitiems, turint bet kokių žinių, kurias turiu technologijų erdvėje.

Nedvejodami susisiekite su manimi savo „LinkdIn“ paskyroje //www.linkedin.com/in/aditya1811/

Taip pat galite sekti mane twitteryje //twitter.com/adityasridhar18

Mano svetainė: //adityasridhar.com/

Kiti mano įrašai

Kaip efektyviai naudoti „Git“