Indhuja Arcot Sukumar / 237A

Assignment 0

Branching model explained in nvie_branching_model describes following :

Main Branches

  • Master

Source code of HEAD in this branch always reflects the production ready state.

  • Development

May Branch from:Master

May merge back to:Master and Release when a stable point is reached and will be tagged with a release number in master.

Source code of HEAD always reflects the latest delivered development changes for next release. Also called as “integration branch” and this is where nightly builds are built from.

Supporting Branches

  • Feature

May Branch from:development

Merged back to:development

Used for developing new features for upcoming releases. It exists only in development repo and not in origin. Branch discarded for failed experiments.

  • Release

May Branch from:development

Merged back to:master and development

Supports preparation of new production releases. Used for fixing minor bug fixes so that development branch is cleared to receive features for the next big release.

  • Hotfix

May Branch from:Master

Merged back to:Master and Development

Used for fixing critical bugs in production version.

Advantages

  • Multiple users can work on same project.
  • Model avoids losing historical data since it stresses -no-ff flag.
  • Branching,Merging made easy since model uses GIT.
  • Decentralized but centralized.
  • production release,developing new features,fixing production bugs made easy.

All wikipages