Version Control
Traceable Branch Lifecycle
Summary
A repository's branches represent bounded changes from identifiable code states, expose their purpose, and remain independent of deployment environments.
Reasoning
A branch whose purpose and origin are clear keeps its changes traceable throughout review, release, and urgent correction. Limiting a branch to a bounded purpose prevents unrelated changes from obscuring what it represents and where its changes must propagate.
Using branches to represent deployment environments couples code integration to environment state and allows branches to diverge. Keeping environment behaviour independent of the branching model preserves one coherent history of code changes across environments.