
🚀 Git algajatele: esimene juhend GitHubiga töötamiseks
Sa kirjutasid koodi, kuid kardad töötavat versiooni katki teha. Või töötad meeskonnas ja kaotad järje, kes ja millal muudatusi tegi. Või soovid lihtsalt ühe käsuga ebaõnnestunud katse tagasi võtta.
Kõike seda lahendab Git, versioonihaldussüsteem, milleta ükski kaasaegne projekt hakkama ei saa. Kuid sisenemisbarjäär hirmutab paljusid: terminal, SSH-võtmed, harud, tõmbepäringud.
Tegelikkuses saab põhilise töövoo selgeks ühe tunniga. See juhend ongi täpselt sellest: paigaldamisest kuni esimese push'ini, ilma ülearuse kohevuse ja tarbetu teooriata.
💡 Kiire ülevaade:
- Paigalda Git oma operatsioonisüsteemile ja määra ühe käsuga oma kasutajanimi
- Genereeri Ed25519 SSH-võti ja seo see oma GitHubi kontoga
- Loo repositoorium, seo see kohaliku kaustaga ja tee oma esimene push
- Klooni olemasolev repositoorium HTTPS-i või SSH kaudu kohalikuks tööks
- Õpi selgeks moodsad
git switchjagit restorekäsudgit checkoutasemel
1. Giti paigaldamine
Git töötab Windowsis, macOS-is ja Linuxis. Kõige usaldusväärsem viis on laadida paigaldaja alla ametlikult saidilt git-scm.com.
Windowsi jaoks laadi alla 64-bitine versioon. Paigaldamise ajal pakub nõustaja valida vaikimisi redaktori, reavahetuste haldamise strateegia ja terminali. Algajale sobivad vaikeväärtused hästi, välja arvatud redaktor: Vimi asemel on mugavam valida Nano või VS Code.
Üksikasjalik juhend Giti paigaldamiseks Windowsile (koos ekraanipiltidega igast nõustaja sammust) on juba meie blogis olemas: kuidas paigaldada Git Windowsile.
Kontrolli, kas Git paigaldus korrektselt:
1 git --version
Kui terminal näitab versiooni (näiteks git version 2.48.0), siis paigaldamine õnnestus.
2. Giti esmane seadistamine
Enne esimest commit'i vajab Git tutvustamist. Nimi ja e-post ilmuvad iga muudatuse ajalukku, võimaldades kolleegidel mõista, kes muudatuse autor on.
1 git config --global user.name "Your Name" 2 git config --global user.email "[email protected]"
Lipp --global kirjutab seaded globaalselt, need kehtivad kõigile masinas olevatele repositooriumidele. Kui konkreetne projekt vajab teistsuguseid andmeid, korda käsku ilma --global-ita, olles projektikaustas.
Veel kaks kasulikku lippu:
1 git config --global core.editor "code --wait" # editor for commit messages 2 git config --global init.defaultBranch main # default branch is main, not master
Alates 2020. aastast loob GitHub repositooriumid main haruga, mitte master-iga. Rida init.defaultBranch main sünkroniseerib sinu kohaliku paigalduse selle standardiga, vältides edaspidist segadust.
Kontrolli kõike korraga:
1 git config --list
3. SSH-võti ja GitHubi ühendus
GitHub keelas paroolide kasutamise Git-toimingute jaoks 2021. aastal. Tänane standard on SSH-võtmed ja algoritmiks on Ed25519 (kompaktsem ja turvalisem kui vananenud RSA).
Genereeri võti:
1 ssh-keygen -t ed25519 -C "[email protected]"
Vajuta kolm korda Enterit: tühi paroolifraas sobib kohalikuks arenduseks. Terminal kuvab sõrmejälje ja võtme asukoha:

Nüüd kopeeri avalik võti lõikepuhvrisse. Käsk sõltub operatsioonisüsteemist:
macOS:
1 pbcopy < ~/.ssh/id_ed25519.pub
Linux (Ubuntu):
1 cat ~/.ssh/id_ed25519.pub
Windows (Git Bash):
1 clip < ~/.ssh/id_ed25519.pub
Jääb üle vaid võti GitHubi lisada. Logi oma kontole sisse, klõpsa paremas ülanurgas oma avataril ja vali Settings:

Külgribal ava vahekaart SSH and GPG keys:

Klõpsa rohelist nuppu New SSH Key. Väljale Title anna võtmele arusaadav nimi (näiteks „Asus Laptop"), väljale Key kleebi lõikepuhvri sisu ja klõpsa Add SSH Key.
Kontrolli ühendust:
1 ssh -T [email protected]
Vastus Hi username! You've successfully authenticated... tähendab, et kõik on seadistatud.
4. Repositooriumi loomine ja esimene sünkroniseerimine
Lehel github.com/new loo uus repositoorium: määra nimi, jäta avalikuks või vali privaatne, ÄRA linnukest „Add a README file" ette pane (muidu tekib esimesel push'imisel konflikt).
Nüüd navigeeri terminalis projekti kausta ja käivita järjest:
1 git init # Git initialization in folder 2 git add . # index all files 3 git commit -m "First commit" # fix state
Seo kohalik kaust kaugrepositooriumiga ja lükka muudatused üles:
1 git remote add origin [email protected]:yourname/yourproject.git 2 git push -u origin main
Lipp -u jätab meelde seose „kohalik haru → kaugrepositoorium". Edaspidi piisab lihtsalt git push-ist.
Ära unusta .gitignore'it, see loetleb failid, mis ei tohiks repositooriumisse sattuda (logid, IDE ajutised failid, sõltuvuste kaustad nagu node_modules/). Valmis malle igale tehnoloogiapaketile leiab lehelt gitignore.io.
5. Repositooriumi kloonimine
Kloonimine on kellegi teise (või enda, kuid GitHubis oleva) repositooriumi allalaadimine kohalikku masinasse koos kogu muudatuste ajalooga.
Repositooriumi lehel klõpsa rohelist Code nuppu:

Avaneb kolme valikuga aken. Vali SSH (kui seadistasid 3. sammus võtme) või HTTPS:

Kopeeri URL ja käivita terminalis:
1 git clone [email protected]:username/repository.git
Git loob kausta repositooriumi nimega ja laeb alla kõik failid koos ajalooga. Pärast kloonimist saad kohe tööd alustada.
Igapäevaseks harude vahel navigeerimiseks kasuta moodsaid käske:
1 git switch feature-branch # switch to existing branch 2 git switch -c new-feature # create new branch and switch 3 git restore file.txt # roll back changes in file
Need asendasid Git 2.23-s ülekoormatud git checkout'i ja on sellest ajast saanud standardiks. git checkout pole kuhugi kadunud, kuid switch ja restore on ohutumad ja intuitiivsemad.
Kui eelistad graafilist liidest, pakub GitHub Desktop kloonimise, commit'ide ja harude visuaalset haldust ilma terminalita.
Video: täielik Git'i ja GitHub'i kursus 2 tunniga
Materjali kinnistamiseks vaata põhjalikku ingliskeelset videoõpetust, mis hõlmab kõike alates paigaldamisest kuni keerukate meeskonnatöö stsenaariumiteni:
⁉️🤔 Korduma kippuvad küsimused
Mille poolest Git erineb GitHubist?
Git on versioonihaldusprogramm, mis töötab sinu arvutis. GitHub on veebiteenus, mis hoiustab Git'i repositooriume pilves ja lisab koostöövahendid: tõmbepäringud (pull request), koodiülevaatus, veahaldus (issues). Alternatiivid on GitLab ja Bitbucket. Git saab täiesti ilma GitHubita töötada, kuid GitHub ei saa eksisteerida ilma Gitita.
Kas ma pean õppima käsurida, kui GitHub Desktop on olemas?
GitHub Desktop katab enamiku igapäevastest toimingutest, kuid terminal annab täieliku kontrolli. Käsud nagu
git rebase,git stashjagit cherry-pickei ole graafilises liideses alati ilmselged. CI/CD, serverite ja DevOps'i stsenaariumid toimivad ainult käsurea kaudu. Meie soovitus: alusta Desktopiga ja õpi käsurida paralleelselt, 2-3 käsku korraga.
Kas ma saan olemasolevas projektis master-haru ümber nimetada main-iks?
Jah, ja see on tavapraktika. Käivita:
git branch -m master main, seejärelgit push -u origin mainjagit push origin --delete master. Pärast seda muuda GitHubi repositooriumi seadetes vaikeharuks main.
Mida teha, kui Git keeldub tõukest (push) veaga „failed to push some refs"?
Peaaegu alati on põhjuseks see, et kaugrepositooriumis on committe, mida sul lokaalselt ei ole. Esmalt tee
git pull --rebase origin main, lahenda konfliktid, kui neid on, seejärel kordagit push. Lipp--rebaseasetab sinu commitid kaugrepositooriumi omade peale, hoides ajaloo lineaarsena.
Kuidas tühistada viimane commit, mida pole veel GitHubi tõugatud?
git reset --soft HEAD~1, commit kaob, kuid muudatused jäävad indeksisse (staged). Saad need parandada ja uuesti commitida. Kui muudatusi pole üldse vaja, kasutagit reset --hard HEAD~1, kuid ole ettevaatlik: hard reset viskab failid pöördumatult minema.
Mis saab edasi: sinu esimene töövoog
Üldpilt pärast seda juhendit: Git on paigaldatud, SSH-võti on seotud, repositoorium on loodud ja sünkroniseeritud. Oled jõudnud nullist töövalmis keskkonnani.
Järgmine on praktika. Alusta väikeselt: tee testprojekti kolm sisukat commiti, ava haru käsuga git switch -c, lisa fail ja saada tõmbepäring (pull request), et see main-harusse liita. Täpselt see tsükkel (commit → haru → PR → liitmine) kordub igas meeskonnas iga päev.
Ja kui oled end mugavalt tundma õppinud, tule meie juurde tagasi edasijõudnute teemade jaoks: git rebase, interaktiivne stash, liitmiskonfliktide lahendamine ja CI/CD seadistamine GitHub Actionsiga.



