Git rebase vs merge: differences, scenarios, and team policy

Rebase only to sync a local feature; land on main with merge/squash—plus why bare --force is banned and when force-with-lease still loses history.