Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Latest commit

 

History

History
165 lines (90 loc) · 4.86 KB

Git.rst

File metadata and controls

165 lines (90 loc) · 4.86 KB

Git

Git'i kasutamise kohta TTÜ-s loe seda: :doc:`GitTtu`

Git on versioonihaldustarkvara, mis võimaldab koodis tehtud muudatusi säilitada ning neile ligi pääseda erinevatest arvutitest. Git on võimalik alla laadida järgnevalt leheküljelt: https://git-for-windows.github.io/ (kui operatsioonisüsteemiks on Mac OS X, siis pole vaja enamasti Git'i tarvis installeerida, see on juba arvutis vaikimisi olemas koos Xcode'iga. Olemasolu saab kontrollida, kui kirjutada Terminali git --version). Windows'is on käskude jooksutamiseks Git Bash, Mac OS X'is Terminal.

/images/git.png

Esmakordsel Git Bashi' käivitamisel tuleb kindlasti seadistada e-posti aadress, kuhu hakatakse Git'iga seotud teateid saatma. Lihtsaim moodus on kirjutada käsureale järgnev käsk:

git config --global user.email [email protected]

Ülaltoodud käsus tuleks asendada "[email protected]" enda reaalse kasutatava e-posti aadressiga. Kontrollimaks, kas e-posti aadress on õigesti omistatud Git'ile, tuleks käsureale kirjutada käsk:

git config --global user.email

Peale käsu andmist kuvatakse e-posti aadress, kuhu hakatakse teateid saatma.

Navigeerimine kaustade vahel

Soovituslik oleks käsureale kirjutada käsk pwd (print working directory), mis näitab, millises kaustas hetkel viibime. Trükkides käsureale ls (list directory contents), kuvatakse meile kausta sisu (kaustade ning failide nimetused), kus hetkel viibime. Kaustade vahel navigeerimiseks on käsk cd (change directory). Uue kausta loomiseks on käsk mkdir (make directory).

Git repositooriumi loomine

Esmalt tuleks navigeerida kausta, kuhu tahetakse Git'i repositooriumi luua. Seejärel tuleks käsureal sisestada käsk:

git init

See käsk loob alamkausta nimega .git, mis sisaldab kõiki vajalikke repositooriumi faile.

Git repositooriumi kloonimine

Esmakordseks salve kopeerimiseks.

git clone username@host:/path/to/repository

Failide lisamine

Ühe faili lisamine:

git add <faili_nimi>

Kõikide failide lisamine:

git add *

Failide kustutamine:

git rm <faili_nimi>

Muudatuste registreerimine

git commit -m "lühike kommentaar tehtud muudatuste kohta"

Muudatuste üles laadimine serverisse

git push origin master

Commit käsk registreerib muudatused aga alles push käsk laeb need serverisse üles. master'i võib muuta mistahes teiseks haruks, kuhu tahetakse muudatusi lükata. Kui on vaja vaadata, milliseid faile on muudetud, ning mida on vaja Git'i lisada või muudatusi registreerida, siis selleks on käsk:

git status

Muudatuste allalaadimine serverist ja kohalike muudatuste integreerimine

git pull

Sisseehitatud graafiline kasutajaliides

Graafiline kasutajaliides näitab mugavalt ja graafiliselt välja ajaloo: muudatuste üleslaadimised serverisse koos aja ja kommentaariga, tehtud muudatused failis, harud jpm. Käsureal käsk:

gitk

Harud

Harusid kasutatakse, et viia paraleelselt sisse muudatusi, mis on teineteisest isoleeritud. master haru on vaikimisi haru repositooriumi loomisel. Teisi harusid on mõistlik kasutada arendamiseks ja seejärel master haruga ühendamiseks (merge), kui arendus on lõpetatud.

/images/branches.png

Allikas: https://www.atlassian.com/git/images/tutorials/collaborating/using-branches/01.svg

Kõikide repositooriumis olevate harude loetelu saamine:

git branch

Loo uus haru (asenda <haru_nimi> uue haru nimetusega):

git branch <haru_nimi>

Kustuta haru (Git ei lase kustutada haru, kui selles on salvestamata muudatusi):

git branch -d <haru_nimi>

Loo uus haru <haru_nimi> ja vahetu sellele:

git checkout -b <haru_nimi>

Vahetu tagasi master harule:

git checkout master

Ühenda teine haru oma aktiivse haruga (näiteks master):

git merge <haru_nimi>

Git üritab automaatselt ühendada muudatusi. Vahel pole see aga võimalik ja tekivad konfliktid. Sellisel juhul tuleb näidatud faile manuaalselt muuta ja uuesti lisada.


Kasulikke linke:

http://rogerdudler.github.io/git-guide/

https://www.atlassian.com/git/tutorials/what-is-git

https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control