Kuidas kloonida Git repositooriumi Ubuntu süsteemis — Samm-sammuline juhend algajatele

1. Sissejuhatus

Viimastel aastatel on “Git” saanud asendamatuks tööriistaks tarkvaraarenduses, teadustöös ja isiklikes projektides. Eriti oluline on Git versioonihaldussüsteemina, mida kasutatakse üle maailma nii meeskonnatöös kui ka avatud lähtekoodiga projektide koodi jagamiseks ja haldamiseks.

Käesolevas artiklis selgitame samm-sammult, kuidas kloonida Git repositooriumi Ubuntu — populaarse Linuxi distributsiooni — keskkonnas, kasutades käsku „git clone”.
„git clone” on põhikäsk, millega saad kopeerida kogu kaugrepositooriumi (näiteks GitHubis või GitLabis avaldatud projekti) oma kohalikku arvutisse.

Kui Ubuntu kasutaja oskab „git clone” käsku kasutada, on tal palju lihtsam paigaldada erinevat avatud lähtekoodiga tarkvara ning luua enda arenduskeskkondi.
Samuti soodustab see aktiivset osalemist meeskondades ja kogukondades.

Selles artiklis käsitleme Giti paigaldamist, „git clone” põhikasutust ning levinud vigade lahendamist.
See juhend sobib nii neile, kes kasutavad Git-i esimest korda Ubuntu peal, kui ka kogenumatele kasutajatele, kes soovivad oma teadmisi korrastada.

2. Eeldused ja keskkonna seadistamine

Selleks, et kasutada Ubuntu süsteemis „git clone” käsku, peab Git olema eelnevalt paigaldatud. Lisaks on oluline teha esmased seadistused ning ette valmistada autentimine kaugrepositooriumisse sisselogimiseks. Selles peatükis vaatame kõiki samme järjestikku.

2.1 Giti paigaldamine

Ubuntus saab Giti lihtsalt paigaldada ametlikust repositooriumist. Ava terminal ja käivita järgnevad käsud:

sudo apt update
sudo apt install git

Pärast paigaldamist kontrolli, kas Git on õigesti paigaldatud, käivitades järgmise käsu:

git --version

Kui näed versiooninumbrit, on paigaldamine õnnestunud.

2.2 Kasutajanime ja e-posti seadistamine

Git salvestab muudatuste ajal teabe selle kohta, kes, millal ja mida muutis. Esmakordsel kasutamisel määra kindlasti oma nimi ja e-posti aadress:

git config --global user.name "Sinu nimi"
git config --global user.email "your.email@example.com"

Seda seadistust tehakse tavaliselt vaid üks kord ning see rakendub kõigile Git-i toimingutele. Kui soovid seadistada projekti-põhiselt, ära kasuta --global lippu ning anna käsk projektikataloogis.

2.3 Autentimise viisid ja ettevalmistus

Gitiga kaugrepositooriumile ligipääsemiseks on kaks peamist autentimisviisi: „HTTPS” ja „SSH”.

  • HTTPS
    Ligipääs toimub URL-i kaudu nagu brauseris. GitHub ja GitLab soovitavad kasutada Personal Access Token’it (PAT), kuna paroolipõhine sisselogimine on eemaldatud.
  • SSH
    Autentimiseks kasutatakse avaliku ja privaatvõtme paari. See on turvaline ning sobib neile, kes kasutavad Git-i sageli, kuna parooli sisestamine pole vajalik.

2.4 Git Credential Manageri (GCM) kasutamine (soovi korral)

Kui soovid turvaliselt hallata paroole ja pääsutõendeid, tasub kaaluda Git Credential Manageri (GCM) kasutamist.
GCM võimaldab salvestada autentimisandmed turvaliselt ning väldib iga kord käsitsi sisestamist. Ubuntus saab selle paigaldada ametlike dokumentide või pakettide kaudu.

Sellega on Ubuntu keskkonnas „git clone” ettevalmistused tehtud.
Järgmises peatükis tutvustame, kuidas kloonida repositooriumi reaalse käsuga.

侍エンジニア塾

3. git clone põhikasutus

„git clone” on käsk, millega saad kloonida kogu kaugrepositooriumi sisu oma arvutisse. Kui tahad kasutada avatud lähtekoodiga projekti või mõne teise arendaja loodud koodi, alustad tihti just selle käsuga.

3.1 Põhisüntaks

Lihtsaim kasutusviis:

git clone <repositooriumi URL>

Näiteks, kui tahad kloonida avalikku repositooriumi GitHubist:

git clone https://github.com/exampleuser/sample-project.git

See käsk loob sinu praegusesse kataloogi uue kausta „sample-project”, mis sisaldab kogu repositooriumi sisu.

3.2 Kloonimine HTTPS kaudu

HTTPS on enimlevinud viis repositooriumi kloonimiseks. URL algab „https://”. Esmakordsel kasutamisel võidakse küsida autentimisandmeid (kasutajanimi, Personal Access Token jms).

git clone https://github.com/kasutajanimi/repositoorium.git

3.3 Kloonimine SSH kaudu

Kui oled registreerinud SSH võtme, saad kloonida turvalisemalt ja parooli sisestamata. SSH URL näeb välja nagu „git@github.com:kasutajanimi/repositoorium.git”.

git clone git@github.com:kasutajanimi/repositoorium.git

SSH kasutamiseks peab avalik võti olema lisatud GitHubi või GitLabi seadetesse.

3.4 Kloonitud repositooriumi struktuur

Kloonides laaditakse kõik failid, kaustad ja .git kataloog (mis sisaldab versiooniajalugu ja seadeid).

  • .git kataloog
    Sisaldab kogu repositooriumi ajalugu ja seadistusi, tänu millele on kõik selles kaustas olevad failid Giti halduses.
  • Töökataloog
    Kood, dokumendid ja muud failid, millega igapäevaselt töötad.

3.5 Jälgi, millisesse kausta kloonid

„git clone” loob uue kausta käsu käivitamise kohas. Soovitame enne käsu andmist liikuda (kasutades cd) soovitud sihtkataloogi.

4. Konkreetse haru kloonimine

Repositooriumil võib olla mitu haru (branch). Vaikimisi kloonitakse põhiharu (main/master), kuid vahel on vaja kloonida ainult kindel haru. Selles peatükis selgitame, kuidas seda teha.

4.1 –branch valiku kasutamine

„git clone” käsul on --branch (või -b) valik, millega saad määrata, millist haru kloonida.

git clone --branch haru_nimi repositooriumi_URL

Näiteks, kui soovid kloonida „develop” haru:

git clone --branch develop https://github.com/exampleuser/sample-project.git

See loob kohaliku repositooriumi, mis on juba valitud haruga.

4.2 –single-branch valiku lisamine

Vaikimisi laeb git clone kõik harud. „–single-branch” võimaldab laadida ainult määratud haru, säästes ruumi ja andmemahtu.

git clone --branch haru_nimi --single-branch repositooriumi_URL

See on kasulik suurte repositooriumite või konkreetsete funktsiooniharude puhul.

4.3 Muude harude allalaadimine hiljem

Kui soovid pärast kloonimist veel teisi harusid, kasuta:

git fetch --all

Ja vaheta haru:

git checkout haru_nimi

4.4 Tähelepanekud

  • Privaatsete või piiratud ligipääsuga repositooriumite puhul vajad kindlasti õigeid autentimisandmeid.
  • Vale harunime kasutamisel tekib viga, seega kontrolli harunime eelnevalt.

Ka ainult kindlat haru kloonides võimaldab „git clone” paindlikke valikuid tõhusaks tööks.

5. Levinumad vead ja lahendused

„git clone” kasutamisel võib ette tulla mitmeid vigu: autentimine, ühendus, õigused jpm. Siin toome välja Ubuntu kasutajate seas sagedamini esinevad vead ja lahendused.

5.1 HTTPS autentimise viga ja Personal Access Token (PAT) kasutamine

Hiljuti on GitHubis ja GitLabis eemaldatud paroolipõhine autentimine ja nõutakse Personal Access Token’i (PAT) kasutamist.
Kloonimisel võib tulla järgmine viga:

remote: Support for password authentication was removed...
fatal: Authentication failed for 'https://github.com/...'

Sel juhul loo GitHubis PAT („Settings” > „Developer settings” > „Personal access tokens”) ning kasuta seda parooli asemel.

5.2 SSH autentimise vead ja avaliku võtme lisamine

Kui kasutad SSH-d, võib tekkida viga „Permission denied (publickey)”, kui võti pole õigesti lisatud.

Lahendus:

  1. Loo terminalis SSH võti (kui see puudub):
   ssh-keygen -t ed25519 -C "your.email@example.com"
  1. Kopeeri avaliku võtme sisu:
   cat ~/.ssh/id_ed25519.pub
  1. Lisa avalik võti GitHubi või GitLabi seadetes.

Nüüd peaks SSH autentimine töötama.

5.3 Repositooriumi ligipääsu vead

Kui kloonid privaatset või organisatsiooni repositooriumi, võib tulla järgmine viga:

fatal: repository 'https://github.com/kasutajanimi/repositoorium.git/' not found

Lahendus:

  • Kontrolli, et URL on õige
  • Veendu, et sul on ligipääsuõigused
  • Sisest autentimisandmed uuesti

5.4 Võrguprobleemid

Vead nagu „Connection timed out” või „Could not resolve host” viitavad enamasti võrguühenduse või proxy seadetele.

Lahendus:

  • Kontrolli internetiühendust
  • Vaata üle VPN-i või proxy seaded
  • Kui GitHubi poolel on ajutine tõrge, oota ja proovi hiljem uuesti

5.5 Muud sagedased vead

  • Kataloog juba olemas
    Kui sama nimega kaust on olemas, ei saa kloonida. Muuda kataloogi nime või kustuta vana kaust.
  • Kettaruumi puudus
    Veendu, et on piisavalt vaba ruumi.

Kui viga tekib, selgita välja põhjus ning lahendus on alati olemas.

6. git clone kasulikud valikud

„git clone” käsul on mitmeid kasulikke valikuid, millega saad tõhusamalt andmeid alla laadida või näiteks koos alam-moodulitega kloonida. Siin tutvustame enimkasutatavaid variante.

6.1 –depth valik (shallow clone)

Kui ei soovi kogu ajalugu, vaid ainult viimased commit’id, kasuta „–depth” valikut.
Näiteks saad alla laadida ainult viimase muudatuse:

git clone --depth 1 https://github.com/exampleuser/sample-project.git

Sobib suurte repositooriumite või CI/CD keskkondade puhul.

6.2 –single-branch valik

Vaikimisi kloonib git clone kõik harud, kuid „–single-branch” laadib vaid määratud haru.
Sageli kasutatakse koos „–branch” valikuga:

git clone --branch develop --single-branch https://github.com/exampleuser/sample-project.git

Kasulik, kui soovid ainult teatud haru.

6.3 –recursive valik (alam-moodulite allalaadimine)

Kui projekt sisaldab alam-mooduleid, kasuta „–recursive” valikut.

git clone --recursive https://github.com/exampleuser/sample-project.git

Kui unustasid selle kloonimisel, saad hiljem alla laadida:

git submodule update --init --recursive

 

6.4 Muud kasulikud valikud

  • –origin valik
    Kui soovid määrata kaug-repositooriumi nime (mitte vaikimisi „origin”).
  • Kataloogi nime määramine
    Kui tahad salvestada teise nimega kataloogi, lisa soovitud nimi käsu lõppu.
  git clone https://github.com/exampleuser/sample-project.git soovitud_katalooginimi

Kombineerides erinevaid valikuid, saad muuta „git clone” veelgi paindlikumaks ja tõhusamaks.

7. GUI tööriistade kasutamine git clone jaoks

Kui eelistad graafilisi kasutajaliidese tööriistu või ei tunne end käsureal mugavalt, soovitame proovida GUI-põhiseid Git-kliente. Ubuntu peal saab „git clone” käsku lihtsalt kasutada erinevate graafiliste tööriistadega.

7.1 Tuntumad GUI tööriistad

  • Gittyup
    Lihtne ja kerge Git-klient, mida saab paigaldada Ubuntu ametlikust repositooriumist või Flatpaki kaudu.
  • Visual Studio Code (VS Code)
    Arendajate seas populaarne editor, mis toetab Git-i laienduste kaudu otse redaktoris.
  • GitKraken
    Võimas ja visuaalselt mugav Git-klient (isiklikuks kasutuseks tasuta).

7.2 Kloonimine Gittyup’iga

  1. Paigalda Gittyup (sudo apt install gittyup või Flatpaki kaudu).
  2. Ava rakendus ja vali „Klooni repositoorium” (või „Clone Repository”).
  3. Sisesta repositooriumi URL, vali sihtkaust ja klooni projekt.

7.3 Kloonimine Visual Studio Code’iga

  1. Käivita VS Code, vali vasakult „Source Control” ikoon.
  2. Klõpsa „Klooni repositoorium” („Clone Repository”).
  3. Kleebi URL, vali sihtkaust ja kloonimine algab.
  4. Pärast kloonimist saad redaktoris kohe muuta, commit’ida ja push’ida.

7.4 GUI tööriistade plussid ja miinused

  • Plussid
    Lihtne ja visuaalne kasutus — sobib hästi algajatele. Failide erinevusi ja ajalugu on mugav vaadata.
  • Miinused
    Iga tööriist erineb — vali endale sobiv. Alguses soovitame GUI, hiljem võiks proovida ka käsurida, et olla paindlikum.

Kasuta GUI tööriistu, et muuta Git-i kasutamine Ubuntu peal mugavamaks ja tõhusamaks.

8. Kokkuvõte

Selles juhendis selgitasime põhjalikult, kuidas kasutada „git clone” käsku Ubuntu süsteemis — alates paigaldamisest, HTTPS/SSH võimalustest, harude ja valikute kasutamisest kuni GUI tööriistadeni.

„git clone” on väga kasulik käsk nii avatud lähtekoodiga projektidesse panustamisel, meeskonnatöös kui ka õppimisel. Kui oled põhitõed selgeks saanud, on töö palju kiirem ja sujuvam.

Eriti algajatele soovitame: otsi veateateid või ametlikku dokumentatsiooni, kui jääd hätta. Kui oled juba kogenum, kasuta ka kasulikke valikuid ja GUI tööriistu ning arenda oma oskusi pidevalt edasi.

Kui siit artiklist vastust ei leidnud või tekib uusi küsimusi, vaata FAQ-d, GitHubi ametlikku dokumentatsiooni või kogukonna abimaterjale.
Kasuta Ubuntu ja Git-i kombinatsiooni ning laienda oma teadmisi veelgi!

9. KKK (Korduma Kippuvad Küsimused)

K1: Kuidas paigaldada Ubuntu süsteemi Git?
V: Käivita terminalis järgmised käsud:

sudo apt update
sudo apt install git

Pärast paigaldust kontrolli git --version käsuga.

K2: Kuidas kloonida ainult kindlat haru?
V: Kasuta --branch või -b valikut ning määra harunimi.
Näide:

git clone --branch haru_nimi repositooriumi_URL

Soovi korral lisa ka --single-branch, et laadida ainult see haru.

K3: Miks saan HTTPS kloonimisel autentimise vea?
V: GitHub ja GitLab nõuavad nüüd Personal Access Token’it (PAT). Loo see GitHubi seadetes ja sisesta parooli asemele.

K4: Kuidas luua ja lisada SSH võti?
V: Loo terminalis SSH võti järgmise käsuga:

ssh-keygen -t ed25519 -C "your.email@example.com"

Kopeeri loodud avaliku võtme sisu (~/.ssh/id_ed25519.pub) ja lisa see GitHubi või GitLabi seadetes.

K5: Kuidas kontrollida kloonitud repositooriumi kaug-URL-i?
V: Ava repositooriumi kataloog ja käivita:

git remote -v

Näed kõiki kaug-URL-e.

K6: Mis saab, kui sama nimega kataloog juba eksisteerib?
V: git clone annab vea. Kasuta teist katalooginime või kustuta vana kaust enne kloonimist.

K7: Kuidas kloonida koos alam-moodulitega?
V: Lisa kloonimisel --recursive:

git clone --recursive repositooriumi_URL

Kui juba kloonitud, kasuta:

git submodule update --init --recursive

K8: Millised on Ubuntu jaoks head Git-i GUI tööriistad?
V: Soovitame Gittyup’i, Visual Studio Code’i (laiendustega) või GitKrakenit. Vali endale sobivaim.

K9: Kuidas vahetada haru pärast kloonimist?
V:

git fetch --all
git checkout haru_nimi

Saad vahetada ükskõik millisele harule.