Giti sissejuhatus: mis see on ja kuidas seda kasutada

Git on avatud lähtekoodiga hajutatud versioonide juhtimissüsteem . Nüüd on Giti määratlemiseks palju sõnu.

Lubage mul see lahti jagada ja selgitada sõnastust:

  • Juhtimissüsteem: see tähendab põhimõtteliselt, et Git on sisu jälgija. Nii et Giti saab kasutada sisu salvestamiseks - seda kasutatakse enamasti koodi pakutavate muude funktsioonide tõttu.
  • Versioonijuhtimissüsteem : Giti salvestatud kood muutub pidevalt, kui lisatakse rohkem koodi. Samuti saavad paljud arendajad paralleelselt koodi lisada. Nii et versioonihaldussüsteem aitab sellega toime tulla, säilitades muudatuste ajaloo. Samuti pakub Git selliseid funktsioone nagu harud ja ühendamised, mida käsitlen hiljem.
  • Hajutatud versioonikontrollisüsteem : Gitil on serveris asuv kaughoidla ja kohalik hoidla, mis on salvestatud iga arendaja arvutisse. See tähendab, et kood ei ole lihtsalt salvestatud keskserverisse, vaid koodi täielik koopia on kõigis arendajate arvutites. Git on hajutatud versioonikontrollisüsteem, kuna kood on olemas iga arendaja arvutis. Kaug- ja kohalike hoidlate mõistet selgitan hiljem käesolevas artiklis.

Miks on vaja versiooni juhtimissüsteemi nagu Git

Päriseluprojektides töötab tavaliselt mitu arendajat paralleelselt. Nii et arendajate vahel pole koodikonflikte, on vaja versiooni juhtimissüsteemi nagu Git.

Lisaks muutuvad selliste projektide nõuded sageli. Niisiis võimaldab versioonikontrollisüsteem arendajatel koodi tagasi minna ja minna selle vanema versiooni juurde.

Lõpuks, mõnikord hõlmavad mitmed paralleelselt käivitatavad projektid sama koodibaasi. Sellisel juhul on Gitis hargnemise mõiste väga oluline.

Alustame Giti kasutamist kohe

Selle asemel, et mainida kõiki mõisteid korraga, selgitan Giti mõisteid ühe näite abil, et seda oleks lihtsam järgida.

Laadige alla git

Sellel lingil on üksikasjad Giti installimise kohta mitmesse opsüsteemi:

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

Kontrollige, kas Git on installitud, kasutades käsureal järgmist käsku:

git --version

Looge oma kohalik Giti hoidla

Looge oma arvutis projekti jaoks kaust. Helistame projekti kausta simple-git-demo.

Minge oma projekti kausta ja lisage projektile kohalik Giti hoidla järgmiste käskude abil:

cd simple-git-demo git init

git initKäsk lisab kohaliku Git hoidla projekti.

Lisame nüüd väikese koodi

Looge fail, mida nimetatakse demo.txtprojekti kausta, ja lisage sinna järgmine tekst:

Initial Content

Siin demonstreeritakse tegeliku koodi asemel lihtsalt lihttekstiga, kuna selle artikli põhirõhk on Gitil, mitte ühelgi konkreetsel programmeerimiskeelel.

Koodi seadistamine ja täitmine

Pühendumine on protsess, mille käigus kood lisatakse kohalikku hoidlasse . Enne koodi andmist peab see asuma lavastusalas . Lavastusala on kõigi siduvate failide jälgimiseks.

Ühtegi faili, mida lavastusalale ei lisata, ei siduta. See annab arendajale kontrolli, millised failid tuleb siduda.

Lavastus

Kasutage faili paigutamiseks järgmist käsku:

git add demo.txt

Kui soovite lisada mitu faili, saate seda kasutada:

git add file1 file2 file3

Kui soovite lisada kõik projekti kaustas olevad failid lavastusalale, kasutage järgmist käsku:

git add .

Kasutage seda ettevaatlikult, kuna see lisab kõik teie projekti failid ja kaustad lavastusalale.

Pühendumine

Faili sidumiseks kasutage järgmist käsku:

git commit -m "Initial Commit"

Esialgne kohustus on siin kohustuslik teade. Sisestage asjakohane pühendamisteade, et näidata, milliseid koodimuudatusi selles konkreetses pühendumises tehti.

Giti olek ja Git-logi

Nüüd muutke demo.txtfail ja lisage järgmine koodilõik:

Initial Content Adding more Content

Staatus

Kasutage git statusteabe leidmiseks selle kohta, milliseid faile on muudetud ja milliseid faile on lavastuspiirkonnas - see näitab ka muud teavet, mida võime praegu eirata.

Oleku nägemiseks kasutage järgmist käsku:

git status

Olek näitab, et seda demo.txton muudetud ja see pole veel lavastusalas.

Lisagem nüüd demo.txtlavastuspiirkonda ja määrake see järgmiste käskude abil:

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

Logi sisse

Kasutage git logkõigi seni tehtud toimingute printimiseks.

Selleks kasutatakse järgmist käsku:

git log

Logis kuvatakse iga kohustuse autor, kohustuse kuupäev ja pühendumissõnum.

Filiaalid

Siiani pole me Gitis loonud ühtegi haru. Vaikimisi Git commits minna kapten filiaal.

Mis on haru?

Filiaal pole midagi muud kui viide Giti hoidla viimasele pühendumisele. Nii et praegu on meie põhiharu osutus teisele pühendumisele “demo.txt file is modified”.

Miks on vaja mitut haru?

Mitme paralleelse arengu toetamiseks on vaja mitut haru. Vaadake allolevat pilti, et näha, kuidas oksad töötavad.

Esialgu tehti 1 ja 2 kohustusi põhiharus. Pärast kohustuse 2 loomist luuakse uus haru, mida nimetatakse testiks, ja 3 ja 4 kohustused lisatakse test harusse.

Samal ajal lisatakse põhiharule erinevad kohustused 3 ja 4. Siit näeme, et pärast Commit 2 tehakse kaks paralleelset arendustööd kahes eraldi harus.

Test haru ja pea haru on siin lahknenud ja neil on erinev kood - test haru koodi saab pea haruga ühendada git merge. Seda käsitletakse hiljem.

Looge uus filiaal rakenduses Local

Looge uus haru nimega test, kasutades järgmist käsku:

git branch test

See käsk loob testharu.

Oleme endiselt põhiharu kontekstis. test Filiaalile üleminekuks . kasutage järgmist käsku:

git checkout test

Nüüd oleme testfiliaalis.

Kõiki kohalikke harusid saate loetleda järgmise käsu abil:

git branch

Tehke mõned kohustused uues harus

Muutmiseks demo.txtlisage järgmine koodilõik:

Initial Content Adding more Content Adding some Content from test Branch

Nüüd tehke järgmist ja tehke järgmist, kasutades järgmisi käske:

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

See kohustus tehti katseosakonnas ja nüüd edestab testharu 1-ga pühendumist - kuna testharu sisaldab ka 2 põhiharu tehtud kohustust.

Testfailis saate kinnitada kohustuste ajalugu, kasutades järgmist:

git log

Ühinemine

Praegu edestab Test Branch Meistrit 1 pühendumisega. Ütleme nii, et nüüd tahame, et kogu testkontori kood viiakse tagasi peaharu juurde. See on koht, kus git mergeon väga kasulik.

Koodi ühendamiseks testhargist põhiharuks toimige järgmiselt.

Kõigepealt pöörduge tagasi peaharu juurde:

git checkout master

Seejärel käivitage mergekäsk:

git merge test

Pärast nende kahe käsu käivitamist peaks liitmine olema edukas. Selles näites pole konflikte.

Kuid reaalsetes projektides tekib ühendamise ajal konflikte. Konflikti lahendamine on midagi, mis kaasneb kogemustega, nii et kui te töötate rohkem Gitiga, saate konfliktide lahendamise varjata.

Jookse git lognüüd ja märkate, et kaptenil on ka 3 kohustust.

Kaug-Giti hoidla

Siiani oleme töötanud ainult kohalikus hoidlas. Iga arendaja töötab oma kohalikus hoidlas, kuid lõpuks lükkab nad koodi kaughoidlasse. Kui kood on kaughoidlas, saavad teised arendajad seda koodi vaadata ja muuta.

GitHub

Siin kasutame kaughoidla jaoks GitHubi.

Minge saidile //github.com/ ja looge konto.

Pärast GitHubi avalehel registreerumist klõpsake uue Giti hoidla loomiseks nuppu Alusta projekti . Andke hoidlale nimi ja klõpsake nuppu „Loo hoidla“

Pange nimi nimeks git-blog-demo.

See loob GitHubis kaughoidla ja hoidla avamisel avaneb selline leht nagu allolev pilt:

Hoidla URL on esile tõstetud osa //github.com/aditya-sridhar/git-blog-demo.git

Kohaliku hoidla kaughoidla suunamiseks kasutage järgmist käsku:

git remote add origin [repository url]

Git Push

Kogu koodi kohalikust hoidlast kaughoidlasse sisestamiseks kasutage järgmist käsku:

git push -u origin master

See lükkab koodi kohalikus hoidlas peaharust kaughoidla põhiharuni.

Lisakäsud

Git Pull

git pullKasutatakse kaughoidlast viimaste muudatuste kohalikku hoidlasse tõmbamiseks. Erinevad arendajad värskendavad kaughoidla koodi pidevalt, seega git pull on see vajalik:

git pull origin master

Git Kloon

git clonekasutatakse olemasoleva kaughoidla kloonimiseks arvutisse. Selle käsk on:

git clone [repository url]

Palju õnne

Nüüd teate Giti kasutamise põhitõdesid, nii et jätkake ja uurige rohkem!

Varsti avaldan veel ühe artikli Giti veidi arenenumatest kontseptsioonidest. Püsige lainel!

Autori kohta

Ma armastan tehnoloogiat ja jälgin tehnoloogia arengut. Mulle meeldib ka teisi aidata kõigi teadmistega, mis mul tehnoloogiaruumis on.

Võtke julgelt ühendust minuga oma LinkdIni kontol //www.linkedin.com/in/aditya1811/

Samuti saate mind jälgida twitteris //twitter.com/adityasridhar18

Minu veebisait: //adityasridhar.com/

Muud minu postitused

Kuidas Giti tõhusalt kasutada