All glossary terms
Optimize

Feature branch

A feature branch is a Git branch that diverges from the main line for the duration of a single feature's development, with all that work isolated from main until the feature is complete and merged via pull request. Feature branches are the opposite of trunk-based development, where every commit lands on main behind a flag.

Feature branching is the traditional default for teams that aren't yet practising continuous integration. The trade-offs: long-lived feature branches accumulate merge debt (the main line has drifted), reduce visibility of in-progress work, and force a 'merge day' that's often the source of integration bugs. Short-lived feature branches (lifespan 1-3 days, scoped tightly) approach the benefits of trunk-based development while keeping the PR-review workflow. The signal a team has outgrown feature branching: PRs routinely sit open for >5 days, merge conflicts are common, integration tests find bugs nobody attributed to a specific PR.

Related terms