Mõisted
Remote Repository
Remote repositoorium on Sinu 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 kasutaja kontole pakub git võimalust nimega forking. Pärast fork -imist viidatakse algsele repole kui upstream ja hargnenud repole kui origin.
On olemas ka Git clone, mis on on põhimõtteliselt repo allalaadimine Sinu arvutisse. Peamine erinevus seisneb selles, et Fork teeb Sinu kontole projektist täiesti Sinu enda koopia, aga Clone laeb olemasoleva repo Sinu masinasse. Origin Origin on nimi, mis antakse vaikimisi Sinu 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.
HEAD
HEAD on pointer (kursor), mis näitab Sinu töökataloogi (kataloog=directory) hetkeseisu. See osutab viimasele commit-ile selles harus, kus parasjagu töötad.
Kui teed uue commit-i, liigub HEAD, et osutada sellele commit-ile. Kui vahetad haru, osutab HEAD uue haru viimasele commit-ile.
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 Gitis on viis, kuidas lisada muudatusi ühest harust teise - tavaliselt kõrvalhardudest main harusse. 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’i kasutamine aitab hoida projekti ajaloo lineaarsena - arendajad saavad enne main haruga ühendamist oma commit-ide ajaloo tagantjärele korda teha. Näiteks on rebase kasulik olukorras, kus 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.
Kasutatud allikad