Zaawansowane operacje w Git

1. Wprowadzenie

Zaawansowane operacje Git: * Rebase * Cherry-pick * Squash * Bisect * Tags


2. Rebase

2.1. Czym jest rebase?

Przepisuje historię commitów na inną bazę.

Przed rebase:

main:    A -- B -- C
              \
feature:       D -- E

Po rebase:

main:    A -- B -- C
                    \
feature:             D' -- E'

2.2. Podstawowy rebase

2.3. Interactive rebase

Pozwala na: * Zmianę kolejności commitów * Squash (łączenie commitów) * Edit (edycję commitów) * Drop (usunięcie commitów)


3. Cherry-pick

Kopiuje commit z innego brancha:

Użycie: Przenoszenie pojedynczych commitów.


4. Squash

Łączenie wielu commitów w jeden:

Lub podczas merge:


5. Bisect

Binarne wyszukiwanie błędnego commita:


6. Tags

Oznaczanie ważnych punktów w historii (wersje, release):


7. Submodules

Osadzanie jednego repo w drugim:


8. Worktree

Wiele working directories dla jednego repo:


9. Cheatsheet

Komenda Opis
git rebase main Rebase na main
git rebase -i HEAD~3 Interactive rebase
git cherry-pick <commit> Kopiuj commit
git bisect start Wyszukiwanie błędu
git tag v1.0.0 Utwórz tag
git push --tags Push tagów

10. Podsumowanie

Zaawansowane operacje:

  • ✅ Rebase – czysta historia
  • ✅ Cherry-pick – kopiowanie commitów
  • ✅ Bisect – wyszukiwanie błędów
  • ✅ Tags – wersjonowanie

Co dalej:

  • Lekcja 11 – GitHub współpraca
  • Lekcja 12 – Najlepsze praktyki

Gratuluję! Znasz zaawansowane techniki Git! 🚀