Seriál Online kurz Git – Najčastejšie problémy, faily a fuckupy – 8. diel

Git je mocný nástroj pre správu verzií, no ako pri každom softvéri, aj pri jeho používaní sa môžu vyskytnúť problémy a chyby. V poslednej časti seriálu Git sa troška pobavíme a verím, že aj troška poučíme na rôznych problémoch (failoch) zo života a reálnej praxe z projektov. Git je pomerne zložitý a preto niečo posrať je relatívne jednoduché. Prísť na to, ako z toho von niekedy takmer nemožné. Hľadať niečo v dokumentácii GITu ide ťažko, pokiaľ teda už neviete názov tej veci, ktorú hľadáte. V tomto článku sa pozrieme na najčastejšie problémy, faily a fuckupy, s ktorými sa môžete stretnúť pri práci s Gitom a ako ich efektívne riešiť.

Necikaj do bazéna

Zmena histórie má niekedy ďalekosiahle dôsledky, a ak sa vydáte touto cestou, mali by ste si uvedomiť dôsledky svojich činov.

Na minútu späť k branchom (plaveckým bazénom). Ak cikáš vo svojom vlastnom branchy (plaveckom bazéne), si jediný, kto sa s tým musí vyrovnať. Len čo ste sa vycikali do iného branchu, prekročili ste hranicu. Uvedomte si, kto je na dolnom branchy. V zásade by ste mali meniť históriu iba v prípade, že (1) ste ovplyvnení ako jediný alebo (2) nenávidíte všetkých, ktorí sa nachádzajú za vami.

Git branche necikaj do bazéna

Prvé faily na projektoch

Git prvé faily

Ako na commity a správy?

Git commity faily

Commity logy noc

Git commit m

Je dobrý nápad dať do správy commitu heslo?

Git commit heslá

Ako udržať poriadok v Gite?

Udržanie poriadku v Gite

Zoznam častých chýb v Gite a ich riešenia

1. Náhodné vymazanie vetvy

Niekedy sa môže stať, že omylom vymažete vetvu, na ktorej ste pracovali. Ak sa to stane, nezúfajte! Git má nástroje na obnovu zmazaných vetiev.

Riešenie:

  • Použite príkaz git reflog na zobrazenie histórie vašich akcií a nájdite hash commit-u pred vymazaním vetvy.
  • Obnovte vetvu pomocou príkazu git checkout -b <názov_vetvy> <hash_commit-u>.

2. Konflikty pri zlúčení (Merge Conflicts)

Pri zlúčení vetiev často dochádza ku konfliktom, najmä ak viacerí vývojári pracujú na rovnakých súboroch.

Riešenie:

  • Manuálne riešte konflikty v súboroch. Git označí konfliktné časti súborov, ktoré je potrebné upraviť.
  • Po vyriešení konfliktov použite príkazy git add a git commit, aby ste zmeny uložili.

3. Návrat k predchádzajúcim verziám

Niekedy je potrebné vrátiť sa k predchádzajúcej verzii projektu, napríklad kvôli chybe v kóde.

Riešenie:

  • Použite príkaz git reset pre návrat na konkrétny commit. Tento príkaz však môže zmeniť históriu commitov.
  • Ak chcete zachovať históriu, použite príkaz git revert, ktorý vytvorí nový commit, ktorý zruší zmeny z vybraného commit-u.

4. Pushovanie do nesprávnej vetvy

Ak omylom pushnete zmeny do nesprávnej vetvy, môže to spôsobiť problémy v projekte.

Riešenie:

  • Použite príkaz git revert na zrušenie commitov v nesprávnej vetve.
  • Pushnite opravenú verziu do správnej vetvy.

5. Rebasing a jeho nástrahy

Rebasing je užitočný nástroj, no môže spôsobiť komplikácie, ak sa nepoužíva správne.

Riešenie:

  • Pred spustením rebase sa uistite, že máte zálohu aktuálnej vetvy.
  • Použite príkaz git rebase --abort, ak sa vyskytnú problémy počas rebase.

6. Obnova zmazaných súborov

Ak omylom zmažete súbor, ktorý ste ešte necommitli, Git ponúka spôsoby na jeho obnovu.

Riešenie:

  • Použite príkaz git checkout -- <cesta_k_súboru> na obnovenie zmazaného súboru.

Odporúčania na prácu s GITom

Práca s Gitom môže byť niekedy náročná, najmä ak sa vyskytnú problémy a chyby. Dôležité je vedieť, že Git ponúka množstvo nástrojov a príkazov na ich riešenie. Nezúfajte pri prvom probléme a skúste využiť vyššie uvedené tipy a triky na jeho riešenie. Pre efektívnejšiu prácu s Gitom odporúčame pravidelné zálohovanie, používanie aliasov na zjednodušenie príkazov a integráciu s CI/CD nástrojmi, ktoré vám pomôžu automatizovať a monitorovať vaše workflowy.

Objavte online kurzy na Git a GitHub

Prehľad publikovaných článkov

  1. Seriál Online kurz Git – Začíname s Gitom – 1. diel
  2. Seriál Online kurz Git – Lokálna Práca so Súbormi – 2. diel
  3. Seriál Online kurz Git – V Hlbinách Súborového Systému – 3. diel
  4. Seriál Online kurz Git – Paralelné svety a Git branch – 4. diel
  5. Seriál Online kurz Git – Mergovanie s Konfliktom, Tagy a Skrytie Zmien – 5. diel
  6. Seriál Online kurz Git – Vzdialené repozitáre, GitHub, Bitbucket – 6. diel
  7. Seriál Online kurz Git – Clean, Reset, Rebase, Revert nástroje do každého počasia – 7. diel
  8. Seriál Online kurz Git – Najčastejšie problémy, faily a fuckupy – 8. diel

Autor

Miroslav Reiter

Programátor, manažér a marketér, ktorý mudruje vo vlastnej vzdelávacej spoločnosti IT Academy. Workoholik so 134 certifikáciami a 13 titulmi. Vytvoril som vzdelávaciu platformu vita.sk, pretože milujem vzdelávanie a všetko čo k nemu patrí. Pomáham firmám ale aj jednotlivcom zlepšovať ich podnikanie a IT. Certifikácie: Microsoft certifikovaný tréner, Google certifikovaný tréner, ITIL, PRINCE2 tréner. 40000+ vyškolených klientov a 1000+ firiem, ktorým som pomohol Referencie: Národná Rada SR, Slovnaft, IBM, Panasonic, Ministerstvo obrany SR, ČSOB, Generali, Tatra banka, Európska komisia, SPP, Pixel Federation, ESET.