Branching

Also See branchingsvn

Patch (Release fixes, maintenance builds)

Production (A post QA branch that can be branched from but is only updated on release)

Main (The branch that is considered closest to good to ship integrated at least every 2 weeks)

Feature (Temporary branches for specific features or short term needs)

Shelf (Each team member may have personal branches for unfinished code requiring backup or putting on hold pending other work)

Things to avoid with merging

Merge avoidance — Merge as early as practical; late merging through fear only excerbates the issues that may occur.
Merge Mania — Conversely spending too much time merging software assets instead of developing them.
Big Bang Merge — deferring branch merging to the end of the development effort and attempting to merge all branches simultaneously.
Never-Ending Merge — continuous merging activity because there is always more to merge.

Excessive Branching — overly granular .
Cascading Branches — branching but never merging back to the main line.
Temporary Branches — branching for changing reasons, so the branch becomes a permanent temporary workspace.
Volatile Branches - branching with unstable software assets shared by other branches or merged into another branch.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License