Przejdź do treści
Technologie / Programowanie

Zaawansowany Git — rebase, internals, monorepo, hooks i strategie branching

Trzydniowe szkolenie zaawansowany Git — rebase/cherry-pick, Git internals (objects, packfiles), submoduły/subtree, hooks, monorepo, strategie branching (trunk-based, GitFlow), naprawa repozytoriów, Git LFS.

„Umiem Git” = umiem commit, push i merge. Zaawansowany Git to zupełnie inny poziom

Większość deweloperów zna 10% Git: commit, branch, merge, pull request. A Git ma: interactive rebase (porządkowanie historii przed merge), bisect (automatyczne znajdowanie commita, który złamał test), reflog (odzyskiwanie „utraconych” commitów po reset —hard), cherry-pick (przenoszenie pojedynczych commitów między branchami), hooks (automatyczny lint i format przed commitem), submoduły i monorepo (zarządzanie złożonymi strukturami). Bez tej wiedzy — tracisz godziny na problemy, które Git rozwiązuje w sekundach.

Trzydniowe szkolenie: od Git internals (object model, packfiles — zrozumiesz JAK Git działa) i zaawansowanych operacji (interactive rebase, cherry-pick, bisect, reflog, filter-repo), przez struktury (submoduły, subtree, monorepo, Git LFS) i strategie branching (trunk-based vs GitFlow vs GitHub Flow), po hooks (pre-commit, automatyzacja, CI/CD), rozwiązywanie problemów (rerere, naprawa repozytoriów) i migrację (SVN/TFS to Git).

Dla kogo jest to szkolenie?

Dla deweloperów i DevOps, którzy chcą opanować Git na poziomie eksperta. Szczególnie gdy:

  • Używasz Git codziennie ale rebase Cię przeraża — szkolenie demistyfikuje rebase, reflog i recovery
  • Zarządzasz monorepo lub wieloma repozytoriami — potrzebujesz wiedzy o sparse checkout, submodułach i CODEOWNERS
  • Definiujesz workflow Git w zespole — potrzebujesz argumentów za trunk-based vs GitFlow i narzędzi (hooks, automatyzacja)

Trzy dni: od internals do migracji

Dzień 1: Internals i historia — object model (blob, tree, commit), rebase (interactive, onto), cherry-pick, reflog (recovery), bisect (automatyczne szukanie regresji), filter-repo (rewrite historii).

Dzień 2: Struktury i strategie — submoduły i subtree, monorepo (sparse checkout, partial clone, CODEOWNERS), Git LFS, strategie branching (GitFlow, GitHub Flow, trunk-based), release strategies (SemVer, hotfix).

Dzień 3: Automatyzacja i operacje — hooks (pre-commit, commit-msg, husky/lefthook), zaawansowane konflikty (rerere, merge strategies), naprawa repozytoriów (corrupt objects, recovery), optymalizacja (gc, commit-graph), migracja (SVN/TFS to Git).

Z ponad 2500 szkoleń w ofercie i oceną 4.8/5, EITT jest zaufanym partnerem w rozwoju kompetencji. Skontaktuj się z nami — organizujemy szkolenia Git zamknięte dla zespołów deweloperskich i DevOps.

Korzyści

  • Rozumieć Git internals — object model, packfiles, reflog — i wykorzystywać to do rozwiązywania problemów
  • Stosować zaawansowane operacje — interactive rebase, cherry-pick, bisect, filter-repo
  • Zarządzać złożonymi strukturami — submoduły, subtree, monorepo (sparse checkout, CODEOWNERS)
  • Wdrażać Git hooks i automatyzację — pre-commit, commit-msg, integracja z CI/CD
  • Wybierać i wdrażać strategię branching — trunk-based vs GitFlow vs GitHub Flow
  • Naprawiać i optymalizować repozytoria — recovery, gc tuning, commit-graph, migracja

Dla kogo jest to szkolenie?

Doświadczeni programiści chcący opanować zaawansowane operacje Git (rebase, cherry-pick, bisect)
DevOps Engineers wdrażający strategie branching i hooks w zespołach
Administratorzy repozytoriów zarządzający monorepo i dużymi bazami kodu
Team Leaderzy definiujący workflow Git i standardy code review
Architekci oprogramowania projektujący strukturę repozytoriów (monorepo vs multi-repo)
Inżynierowie CI/CD integrujący Git hooks z pipeline'ami

Wymagania wstępne

  • Min. 1 rok codziennej pracy z Git — commit, branch, merge, pull request
  • Znajomość podstawowych operacji — clone, push, pull, stash, diff, log
  • Doświadczenie z rozwiązywaniem merge conflicts
  • Znajomość wiersza poleceń (bash/PowerShell)

Program szkolenia

01

Dzień 1: Git internals i zaawansowane operacje na historii

  • Git internals — object model (blob, tree, commit, tag), SHA-1, packfiles, gc, fsck
  • Rebase — interactive rebase (squash, fixup, reword, edit), rebase vs merge, rebase onto
  • Cherry-pick — przenoszenie commitów między branchami, cherry-pick ranges, conflict resolution
  • Reflog — odzyskiwanie utraconych commitów, reflog expire, ratowanie po złym rebase/reset
  • Bisect — binarne wyszukiwanie regresji, bisect run (automatyczny), bisect z testami
  • Rewrite historii — filter-repo (usuwanie plików, zmiana autorów), BFG Repo-Cleaner
02

Dzień 2: Submoduły, monorepo i strategie branching

  • Submoduły — dodawanie, aktualizacja, pułapki (detached HEAD), alternatywy
  • Subtree — merge vs split, porównanie z submodułami, kiedy który
  • Monorepo management — sparse checkout, partial clone, path-based ownership (CODEOWNERS)
  • Git LFS — duże pliki binarne, konfiguracja, storage, migracja istniejącego repo
  • Strategie branching — GitFlow, GitHub Flow, trunk-based development — porównanie, trade-offs
  • Release strategies — tagging (SemVer), release branches, hotfix workflow
03

Dzień 3: Hooks, automatyzacja i rozwiązywanie problemów

  • Git hooks — pre-commit (lint, format), commit-msg (conventional commits), pre-push, server-side hooks
  • Automatyzacja — husky, lefthook, pre-commit framework, integracja z CI/CD
  • Zaawansowane rozwiązywanie konfliktów — rerere (reuse recorded resolution), merge strategies (ours, theirs, patience)
  • Naprawianie repozytoriów — uszkodzony index, corrupt objects, orphaned commits, recovery procedures
  • Optymalizacja — gc tuning, repack, commit-graph, multi-pack-index, shallow clone
  • Migracja — SVN-to-Git, TFS-to-Git, merge dwóch repozytoriów z zachowaniem historii

Formy realizacji

Online

  • Wygoda uczestnictwa z dowolnego miejsca
  • Interaktywne sesje na żywo z trenerem
  • Materiały dostępne przez 30 dni
  • Brak kosztów dojazdu

Stacjonarnie

  • Bezpośredni kontakt z trenerem i grupą
  • Intensywne warsztaty praktyczne
  • Networking z innymi uczestnikami
  • Pełne skupienie na nauce

Najczęściej zadawane pytania

Czy to szkolenie z GitHub/GitLab?

Nie — to szkolenie z GIT (narzędzie). GitHub/GitLab to platformy hostingowe. Omawiamy Git jako system kontroli wersji: internals, rebase, hooks, monorepo. Umiejętności działają identycznie niezależnie od platformy (GitHub, GitLab, Bitbucket, self-hosted).

Czy rebase jest bezpieczny?

Tak — jeśli wiesz co robisz. Interactive rebase to najpotężniejsze narzędzie Git: porządkuje historię, łączy commity, poprawia wiadomości. Szkolenie uczy kiedy rebase (prywatny branch), kiedy merge (publiczny branch), i jak odzyskać dane z reflog po błędzie.

Monorepo czy multi-repo?

Omawiamy oba podejścia z trade-offs. Monorepo (Google, Meta) = jeden repo, sparse checkout, CODEOWNERS. Multi-repo = osobne repo per serwis, submoduły/subtree. Wybór zależy od struktury zespołu i narzędzi CI/CD.

W jakim formacie i jak długo trwa szkolenie?

Szkolenie trwa 3 dni (9:00-16:00), dostępne online i stacjonarnie. Warsztaty z operacjami na repozytorium — rebase, bisect, hooks, recovery.

Czy po szkoleniu otrzymam certyfikat?

Tak, każdy uczestnik otrzymuje imienny certyfikat ukończenia szkolenia wydany przez EITT.

Patrycja Petkowska
Patrycja Petkowska Opiekun szkolenia

Poproś o ofertę

Możliwości dofinansowania

Sprawdź możliwości dofinansowania dla Twojej firmy

Zaufali nam

Szkolimy zespoły największych polskich firm

ING Bank - klient EITT
mBank - klient EITT
PKO Bank Polski - klient EITT
PZU - klient EITT
Allianz - klient EITT
T-Mobile - klient EITT
KGHM - klient EITT
PGE - klient EITT
IKEA - klient EITT
InPost - klient EITT
Leroy Merlin - klient EITT
ZUS - klient EITT

Zainteresowany tym szkoleniem?

Skontaktuj się z nami - przygotujemy ofertę dopasowaną do potrzeb Twojego zespołu.

500+ ekspertów
2500+ szkoleń w ofercie
ISO 9001 certyfikat jakości
Zapytaj o szkolenie
Zadzwoń do nas +48 22 487 84 90