Mõisted

Remote Repository

Remote repositoorium on projekti versioon, mida hoitakse internetis.

See võimaldab mitmel inimesel erinevatest kohtadest sama projekti kallal koostööd teha. Remote repositooriume hoitakse tavaliselt platvormidel nagu GitLab, GitHub või Bitbucket. Koostööl põhineva projekti korral peab arendaja saama iseseisvalt panustada, mõjutamata teisi kasutajaid või sõltumata neist.

Algse repo koopia tegemiseks pakub git võimalust nimega forking.

  • Pärast fork-imist viidatakse algsele repole kui upstream ja hargnenud repole kui origin.

On ka clone, mis on on põhimõtteliselt repo allalaadimine arvutisse.

  • Peamine erinevus seisneb selles, et fork teeb kontole projektist täiesti enda koopia, aga clone laeb olemasoleva repo masinasse.

Origin on nimi, mis antakse vaikimisi masinasse kloonitud remote repodele. See toimib justkui viitena algse repo URL-ile.

Kasutus:

  • Muudatuste push-imine: kui teed oma projektis muudatusi ja soovid need saata remote reposse, et seal oma muudatusi turvaliselt hoida, siis saad push-imise abil seda teha.

  • Muudatuste fetch-imine: remote repost teiste arendajate muudatuste (mis on push-itud) hankimiseks.

Upstream

Upstream on samuti viide remote repole, tavaliselt originaalsele repole, millest oma koopia eraldasid. See aitab hoida kloonitud projekti algse projektiga sünkroonituna.

Kasutus:

  • Algse projektiga sünkroonimine: kui kloonisid projekti ja soovid hankida algse projekti repost uusimad muudatused, hangid muudatused upstream-ist.

  • Muudatuste ühendamine main haruga: pärast täiustuste või paranduste tegemist oma harus loo merge request, et lisada muudatused upstream repositooriumisse.

Checkout

Checkout on käsk, mida kasutatakse harude vahetamiseks või working tree failide taastamiseks.

  • Harusse lülitumine: git checkout haru_nimi lülitab keskkonna soovitud harule ja värskendab Sinu töökataloogi, et see vastaks haru viimasele olekule.

  • Commit-i lülitumine: git checkout commit_hash võimaldab Sul vaadata oma projekti seisu konkreetse commit-i ajal. See on kasulik debug-imiseks või varasemate muudatuste ülevaatamiseks.

Rebase

Rebase on viis lisada muudatusi ühest harust teise.

Lihtsustatult tähendab rebase commit-ide jada kombineerimist üheks base commit-iks ning enda muudatuste rajamist selle peale, mida kõik teised juba eelnevalt teinud on.

Rebase kasutamine aitab hoida projekti ajaloo lineaarsena - arendajad saavad enne main haruga ühendamist oma commit-ide ajaloo tagantjärele korda teha.

Rebase kasutamise näide:

  • Arendaja töötab oma haru kallal, aga samal ajal liigub main haru uuenduste poolest edasi

  • Arendaja tahaks saada oma harusse main haru uuendusi, aga nii, et jääks mulje, nagu ta oleks kogu aeg ehitanud enda haru main haru kõige uuema versiooni peale

See lihtsustab hiljem uue haru lisamist main harule.

Praktilised ülesanded

Selleks, et neid mõisteid pärislet süvendada ja aru saada oleks mõistlik läbi teha seotud praktilised ülesanded:

Kasutatud materjalid