Middle
Jaký je rozdíl mezi rebase a merge v Git?
sobes.tech AI
Odpověď od AI
Merge vytvoří nový commit sloučení, který spojuje historii větví. Rebase přesune commity vaší větve na jinou větev a přepíše historii.
Kdy použít:
- Merge: Preferováno pro sloučení funkcí větví do hlavní větve, zachovává historii.
- Rebase: Dobré pro čištění místní historie před push, činí historii lineární.
Porovnání:
| Vlastnost | Merge | Rebase |
|---|---|---|
| Typ operace | Vytváří commit sloučení | Přepisuje historii, přesouvá commity |
| Historie | Zachovává strukturu větví, může být složitá | Lineární, ale může být těžké sledovat |
| Spolupráce | Bezpečnější při týmové práci | Může způsobit problémy se sdílenými větvemi, pokud již byla historie publikována |
# Příklad merge
git checkout main
git merge feature-branch
# Příklad rebase
git checkout feature-branch
git rebase main
git checkout main
git merge feature-branch // Rychlé posunutí vpřed