git rebase VS merge – jaký je rozdíl

git je skvělý systém na verzování kódu, spolupráci více lidí na jednom projektu např. v PHP a nabízí spoustu příkazů

Pokud chci upravit kód projektu, udělám nejdříve aktualizaci na nejnovější verzi. V pracovním prostředí PhpStorm od JetBrains je funkce Update Project (CTRL+T).

Dialog nabídne dvě varianty pro update projektu. První varianta Merge a druhá Rebase. Obě udělají stejnou věc. Obě se mohou kombinovat.

git merge https://git-scm.com/docs/git-merge

  • spojí dvě nebo i více historií do sebe vytvořením nového commitu
  • bezpečnější metoda než rebase, protože není destruktivní, pouze přidává
  • historii změn zapleveluje vytvářením nového commitu pro merge

git rebase https://git-scm.com/docs/git-rebase

  • alternativa k merge
  • změní bázy postupnou aplikací změn
  • je to destruktivní operace, méně bezpečná při řešení konfliktů
  • nevytváří nový commit, takže je historie změn přehlednější

Začal jsem používat rebase a zatím jsem nenarazil na problém. Hlavně z důvodu, že se nevytváří merge commit, ale změny se postupně aplikují přepsáním nekonfliktních souborů.

Další zkušenosti doplním později.