Olulisemad git commandid

git diff

Git diff on käsk, mis toob välja erinevused Sinu töökataloogi* ja staging area* vahel. Kui teed mingis harus muudatusi ning hiljem stage’id kõik muudatused, siis ei anna git diff mitte mingit tulemust. Kui aga muudad midagi juba stage’itud failis, siis git diff jooksutamine näitab, mis ja kus muudatus tehti.

Sinu töökataloog - sisaldab kõiki Sinu projekti faile, sõltumata sellest, kas need on muudetud või mitte

Staging area - vahetasand, kuhu lisad muudatused, mida tahad lõpuks commit-iks vormistada. Sisaldab ainult faile, mida commit-ida tahad

Näiteks:

../../_images/gitdiff.png

Mul on kaks staged olekus olevat faili: one.txt ja two.txt. Nende sisu on vastavalt “one two three” ja “four five six”.

Nüüd, kui ma otsustan, et two.txt sisu peab olema hoopis “four five seven” ja teen vastava muudatuse, siis on uuendatud two.txt hoopis Unstaged kaustas.

Nüüd kui jooksutada git diff, on muudatused näha:

../../_images/gitdiff2.png

diff --git a/diff/two b/diff/two – annab üldist infot selle kohta, mida võrreldakse:

  • a on faili “two” vana versioon ja b uus ehk muudetud versioon. Git’is viidatakse tavaliselt võrreldavatele failidele /a ja /b.

@@ – Chunk Header ehk päis:

  • -1 tähendab a-versiooni failist ühe rea välja võtmist, alustades realt 1.

  • +1 tähendab b-versiooni failist ühe rea välja võtmist, alustades realt 1.

git status

Käsk git status kuvab töökataloogi ja staging ala oleku. See võimaldab näha, millised muudatused on staged olekus, millised mitte ja milliseid faile Git ei jälgi.

Käsu output näitab:

  1. Millises harus parasjagu töötad

  2. Kas harus on viimased muudatused alla tõmmatud

  3. Staging area’s olevad failid, mis on valmis commit-imiseks

  4. Failid, mis pole staging area’s ja seetõttu ei lähe ka commit-iga kaasa

  5. Failid, mis on Sinu töökataloogis olemas, kuid mida Git ei jälgi (reposse lisatud uute failide olek- Git on faili olemasolust teadlik, kuid pole seda oma andmebaasi salvestanud)

../../_images/gitstatus.png

git init

Seda käsku kasutatakse uue Giti repo loomiseks. Seda saab kasutada olemasoleva versioonita projekti teisendamiseks Giti repoks või täiesti uue tühja repo tegemiseks.

git init – muuda praegune töökataloog Giti repoks. Lisab olemasolevatele failidele ja kataloogidele .git alamkataloogi vajalike failidega

git init <kataloog> – loo määratud kataloogist tühi Giti repo. Loob uue alamkataloogi nimega <kataloog>, mis ei sisalda midagi peale alamkataloogi .git.

git help

Näitab erinevaid Git-i käske ning võimalusi käskude jooksutamiseks.

git help --all – näitab kõiki võimalikke Git-i käske

git <command> -help – näitab kindla käsu jaoks erinevaid võimalusi

git config

Git config on vajalik Giti käitumise ja kasutaja eelistuste määramiseks. Seadete abil saab kontrollida Giti toimimise aspekte, näiteks kasutajateavet ja konkreetsete repode sätteid.

Konfiguratsiooni tasemed:

  • System (--system) – kehtib kõikidele süsteemi kasutajatele ja nende repodele. Konfiguratsioon salvestatakse Giti installation kataloogi.

  • Global (--global) – kehtib praegusele kasutajale kõigis repodes. Salvestatakse kasutaja home kataloogi.

  • Local (--local) – kehtib konkreetse repo kohta, kus käsku jooksutatakse. Salvestatakse repos olevasse .git/config faili.

Giti kasutamisel määratakse tavaliselt kasutajanimi ja e-posti aadress, mida kasutatakse commit-ide märgistamiseks.

Näiteks saab nime määrata nii: git config --global user.name "nimi"

Git stash

git stash hoiab ajutiselt muudatusi, mille oled oma töökataloogis teinud, et saaksid millegi muu kallal töötada, ning seejärel tagasi tulla ja neid hiljem uuesti rakendada. Stash on mugav, kui Sul on vaja kiiresti haru vahetada ja millegi muu kallal töötada, aga midagi jäi pooleli ning pole veel päris valmis commit-imiseks.

Stash-itud muudatuste tagasi saamiseks on:

  • git stash pop – demaldab muudatused stash-ist ja integreerib need otse töökataloogi koodi.

  • git stash apply – rakendab muudatused uuesti töökataloogi, aga hoiab need stash-is

Lisaks

Enamikesse töölaua arenduskeskkondadesse (sealhulgas Pycharmi) on sisseehitatud terminal ehk saad käske jooksutada otse sealt. Sedasi avades on terminal juba teie projekti kaustas ehk enamikel juhtudel pole vaja eraldi kuhugi navigeerida. Käskude ja terminali kasutamise kohta saad rohkem uurida nendelt linkidelt:

Pycharmi enda Youtube’i kanal erinevate kasulike videotega:

Kasutatud materjalid