Git branching strategies define how teams organize code changes before merging to the main branch. Feature branches isolate work in progress from stable code and are merged via pull requests after review. GitFlow uses long-lived develop and release branches alongside short-lived feature and hotfix branches. Trunk-based development commits small increments directly to the main branch with feature flags gating incomplete work. Rebase keeps commit history linear by replaying commits on top of the target branch before merging. Squash merges condense a feature branch into a single commit on the target branch.
