WishWiki

Branching (version control)

Branching is a core technique in Source code management systems that allows developers to diverge from the main line of development, create isolated workspaces, and later merge changes back together. Think of it as a tree: the trunk is your primary codebase, and branches are parallel versions where features, bug fixes, or experiments can grow independently.

When you create a branch, you're essentially making a snapshot of the Source code at a moment in time, then working on that copy without affecting others. This is invaluable in collaborative environments: multiple teams can develop features simultaneously, test them rigorously, and integrate only when ready. GitHub and similar platforms make branching central to modern Agile workflows.

The beauty lies in composing work cleanly. A developer working on a new feature branches from main, stays isolated from breaking changes elsewhere, and submits a pull request for review. Bad experiments? Delete the branch. Good work? Merge it back.

Branching strategies vary widely: some teams use simple trunk-based development, others follow intricate patterns like Git Flow. Each approach balances speed against Cognitive overhead differently. The cost is complexity—managing many long-lived branches requires discipline and tooling.

Related

Git, Merge (version control), Repository, Pull request, Continuous integration

Wishing…
your wish is being written

✨ Wish for a new page

👁 Wish for another view of this page

Sign in to WishWiki

Keep your wishes together, see your activity — and later, get your own private wiki space.

⏱ Page history