Git pre testerov: základný prehľad príkazov

V tomto článku poskytujeme prehľad základných Git príkazov, ktoré pri každodennej práci ako IT tester bok po boku s developermi potrebuješ vedieť. Umožnia ti efektívne pracovať s GIT repozitárom, sledovať zmeny v kóde a riešiť konflikty.

Git je distribuovaný systém na správu verzií (DVCs), ktorý patrí medzi najlepšie open-source nástroje pre programátorov. Umožňuje zdieľanie projektov a efektívnu spoluprácu v tímoch. V našom minulom článku sa môžeš dočítať viac o tom, čo je Git, GitHub a GitLab.

Hoci je znalosť Gitu nevyhnutná pre vývojárov a automatizovaných testerov, manuálni testeri často nemajú dostatočné znalosti na jeho používanie. Preto ti teraz o Git príkazoch povieme viac.

Git – základné pojmy

Než sa pustíme do používania jednotlivých príkazov, poďme si vysvetliť kľúčové pojmy, ktoré sa s Gitom spájajú:

  • Repozitár (git repository): jedná sa o úložisko, kde sa uchovávajú všetky súbory a história zmien projektu. Repozitár umožňuje sledovať a spravovať zmeny v kóde, spolupracovať s vývojármi a v prípade potreby sa jednoducho vrátiť k predchádzajúcim verziám. Každý repozitár obsahuje kompletnú históriu všetkých zmien, čo zabezpečuje transparentnosť a kontrolu nad vývojom projektu.
Typ repozitára Popis
Lokálny repozitár Tento repozitár je uložený na tvojom počítači. Všetky operácie, ako commit, vytváranie vetiev a zlúčenie, sa vykonávajú lokálne.
Vzdialený repozitár Tento repozitár je uložený na serveri, ako je GitHub, GitLab alebo Bitbucket.

Používa sa na zdieľanie tvojho projektu s ostatnými členmi tímu a na zálohovanie dát.

  • Komitovanie (commit): Commit je základným prvkom, ktorý Git používa na sledovanie histórie zmien v repozitári. Označuje akciu, ktorou sa ukladajú zmeny v kóde do Git repozitára, čím sa vytvára nový bod v histórii projektu.
  • Vetva (branch): jedná sa o vetvu v Git repozitári, ktorá reprezentuje samostatnú líniu vývoja. Vetvy umožňujú pracovať na rôznych funkciách alebo fixoch nezávisle od hlavnej (zvyčajne „master“ alebo „main“) vetvy, čím sa uľahčuje paralelný vývoj a testovanie. Každá vetva môže mať vlastnú históriu a zmeny, ktoré sa neskôr môžu zlúčiť (merge) späť do hlavnej vetvy alebo do iných vetiev.

Vetvy (branch) umožňujú pracovať na rôznych funkciách alebo fixoch nezávisle od hlavnej master alebo main vetvy, čím sa uľahčuje paralelný vývoj a testovanie.

  • Zlučovanie zmien (merge): Proces zlúčenia zmien z jednej vetvy do druhej. Často sa používa na integráciu zmien z vývojových vetiev do hlavnej vetvy.

Git Flow

Git Flow je spôsob, ako organizovať a riadiť prácu na projekte s použitím systému Git. Slúži na štrukturovanie práce v tíme, čo zjednodušuje správu rôznych funkcií, opráv a vydávanie verzií softvéru.

Hlavné prvky Git Flow sú:

  1. Master vetva: Táto vetva predstavuje stabilnú verziu softvéru, ktorá je pripravená na produkciu. Nové verzie softvéru sú zvyčajne zlúčené do tejto vetvy len po dôkladnom testovaní a schválení.
  2. Develop vetva: Táto vetva predstavuje aktívnu vývojovú vetvu, do ktorej sú zlúčené všetky nové funkcie a zmeny. Je to miesto, kde tímy spolupracujú na vývoji novej funcionality a fixov.
  3. Feature vetvy: Tieto vetvy sú vytvorené pre vývoj konkrétnej funkcionality alebo vlastnosti softvéru. Každá funkcia je vyvíjaná v samostatnej vetve a po dokončení je zlúčená do vývojovej vetvy (develop).
  4. Release vetvy: Tieto vetvy sú vytvorené na prípravu nových verzií softvéru na release. Obsahujú finálne testy a prípravy, ako sú zmeny dokumentácie a aktualizácia verzií.
  5. Hotfix vetvy: Tieto vetvy sú vytvorené na opravu kritických bugov vo verzii softvéru, ktorá je už v produkcii. Hotfixy majú často vysokú prioritu a sú zlúčené do master a develop vetvy.

Inštalácia a registrácia Git

Ak chceš začať pracovať s Gitom, prvým krokom je jeho inštalácia. Navštív oficiálnu stránku Gitu na adrese git-scm.com. Na hlavnej stránke nájdeš možnosť stiahnuť inštalačný súbor pre svoj operačný systém (git download).

Ďalším krokom je vytvorenie účtu na serveri repozitára. K dispozícii máš rôzne bezplatné možnosti ako github, gitlab, bitbucket, a podobne. Každá z týchto možností má svoje vlastné funkcie, ale všetky podporujú git. Ak máš vlastný účet, už môžeš vytvárať vlastné repozitáre alebo klonovať existujúce, vytvárať vetvy a pod.

Základné príkazy (git commands)

Teraz sa pozrime na niekoľko základných príkazov:

Klonovanie repozitára – git clone

Ak chceš pracovať na existujúcom projekte, môžeš si ho stiahnuť (klonovať) do svojho lokálneho počítača. Týmto príkazom teda jednoducho vytvoríš kópiu vzdialeného repozitára na tvojom lokálnom počítači.

Zlučovanie zmien – git merge

Git merge slúži na zlúčenie zmien z jednej vetvy do druhej, čím umožňuje integráciu nových funkcií alebo opráv bugov z rôznych vývojových línií. Tento proces je kľúčový pre aktualizáciu hlavnej vývojovej vetvy, riešenie konfliktov, zabezpečenie kontinuálneho vývoja a správu histórie repozitára.

Ukladanie zmien – git commit

Git commit slúži na ukladanie aktuálnych zmien v pracovnom adresári do verziovacieho systému Git. Každý commit vytvára nový záznam v histórii projektu, ktorý zachytáva zmeny, ich autora, dátum a popis. Týmto spôsobom commity umožňujú uchovávať históriu zmien, dokumentovať úpravy a sledovať vývoj projektu v čase.

Synchronizácia zmien – git pull a git push

  • git pull – príkaz, ktorý stiahne najnovšie zmeny z vzdialeného repozitára a integruje ich do tvojej lokálnej kópie.
  • git push – príkaz, ktorý odošle lokálne zmeny do vzdialeného repozitára, aby ich mohli vidieť a používať ostatní vývojári.

Zobrazenie histórie commitov – git log

Tento príkaz zobrazuje históriu commitov v repozitári. Môžeš tak získať informácie o tom, kto a kedy robil zmeny v repozitári.

Zobrazenie stavu repozitára – git status

Prikaz git status slúži na zobrazenie aktuálneho stavu repozitára. Poskytuje prehľad o tom, ktoré súbory sú zmenené, ktoré súbory sú pridané do staging area (pripravené na commit) a ktoré súbory ešte neboli sledované alebo sa nachádzajú v zmenenom stave. Taktiež informuje o aktuálnej vetve a o tom, či sú v repozitári nejaké nové aktualizácie zo vzdialeného repozitára.

Dočasné ukladanie – git stash

Príkaz git stash slúži na dočasné uloženie aktuálnych zmenených alebo nesledovaných súborov do tzv. „stashu“. Hlavné použitie git stash je v situáciách, keď máš neukončené zmeny v branchi, ale musíš prejsť na inú úlohu alebo vyriešiť iný problém. Namiesto toho, aby sa komitovali neukončené zmeny, je teda lepšie použiť git stash a zmeny tak dočasne uložiť.

Usporiadanie komitov – git rebase

Git rebase ti umožňuje preložiť alebo „presunúť“ sériu commitov z jednej vetvy na inú.

Ak napríklad pracuješ na svojej vlastnej funkcionalite na branchi a chceš teraz pridať zmeny, ktoré sa medzitým stali v hlavnej vetve, môžeš použiť rebase. Tvoje zmeny sa potom umiestnia nad zmeny z hlavnej vetvy, čo robí históriu tvojich zmien pekne a jednoducho čitateľnú.

Práca s vetvami – git branch

Tu je niekoľko hlavných funkcií git branch:

  1. Vytváranie vetvy: Z aktuálnej pracovnej vetvy môžeš vytvoriť novú pomocou príkazu git branch <názov_vetvy>. Táto nová vetva bude obsahovať aktuálny stav repozitára a môžeš na ňu prepínať bez toho, aby sa zmenila tvoja hlavná vetva.
  2. Prepnutie vetvy: Pomocou príkazu git checkout <názov_vetvy> sa môžeš prepnúť na inú vetvu v repozitári . To ti umožní pracovať na rôznych častiach projektu bez ovplyvnenia ostatných vetiev.
  3. Prehľadávanie vetiev: Príkaz git branch bez argumentov zobrazí zoznam všetkých vetiev v repozitári a označí, ktorá z nich je aktuálna.
  4. Mazanie vetiev: Ak už nie je potrebná, vetvu môžeš odstrániť pomocou príkazu git branch -d <názov_vetvy>. Pred odstránením vetvy je však dôležité sa uistiť, že všetky zmeny z tejto vetvy sú zahrnuté v iných vetvách alebo sú uložené v repozitári.

Praktické tipy

  1. Začni s malými zmenami: Predtým než sa pustíš do komplexných operácií, skús jednoduché zmeny a commitovanie
  2. Pravidelné commitovanie: Často komituj malé zmeny, to ti zabezpečí jednoduchšie sledovanie zmien.
  3. Používaj vetvy: Vytváraj vetvy pre rôzne úlohy alebo testovacie scenáre, aby bol tvoj  hlavný repozitár čistý a prehľadný.
  4. Dokumentuj svoje zmeny: Vždy píš zmysluplné správy k commitom, aby bolo transparetné, aké zmeny boli vykonané a prečo.
  5. Pravidelne synchronizuj s origin: Pravidelne aktualizuj svoj lokálny repozitár s originom, vyhneš sa tým konfliktom a udržíš svoj projekt aktuálny.

Záver

Git je mocný nástroj, ktorý môže výrazne zefektívniť tvoju prácu, aj keď si manuálny tester. Znalosť základov ti umožní lepšie spolupracovať s vývojármi a automatizačnými testermi, čo povedie k lepšej kvalite softvéru a efektívnejšiemu procesu testovania. Neboj sa experimentovať a učiť sa nové veci – Git je nástroj, ktorý ti to umožní bez obáv zo straty práce alebo zmien. Pripájam ti veľa úspechov pri práci s Gitom!

Ak vieš po nemecky a si IT tester alebo automatizovaný tester, pozri si naše firemné benefity a reaguj na voľné pracovné miesta.

O autorovi

Katarína Kučáková

Software Test Engineer

Moja cesta k testovaniu softvéru sa začala v roku 2019 až po štúdiu ekonómie a pracovných skúsenostiach v iných odvetviach. To mi pomohlo vnímať IT svet v rôznych súvislostiach. Ten totiž ponúka neustále nové výzvy, pre ktoré rada hľadám riešenia. Obľubujem oddych pri čítaní, turistiku alebo lyžovanie. LinkedIn

Daj nám o sebe vedieť