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! 🚀