-
Notifications
You must be signed in to change notification settings - Fork 27
Repo management and Releasing
zzolo edited this page Aug 16, 2011
·
6 revisions
The following is the (proposed, but yet implemented) model for our git-based repository management (branching and tagging). Overall the goal is to follow the model laid out by Vincent Driessen's post on a git branching model at nvie.com. Please refer to that post for more details and commands on the process.
Git Flow will help in maintaining the management style described here.
The following are the main branches of the application. Note because this code is influx with LP's NYS project, this is a bit off for now.
- master-cfa: This is main branch that holds the production-ready code. Code from the develop branch should be merged into this branch when ready to be tagged as a release.
- develop-cfa: This is the branch where all stable development code gets merged into. This can be thought of as the staging branch.
-
Feature branches: Each new feature should be managed in its own branch. When tested and ready, the branch should be merged into the develop branch.
- Branch from develop.
- Merge back to develop.
- Naming: anything besides other naming.
-
Release branches: Release branches support preparation of a new production release. This is for some final fixes and allows for development for next release to proceed more smoothly.
- Branch from develop.
- Merge back to develop and master.
- Naming:
release-*
-
Hotfix branches: For emergency fixes to released code.
- Branch from master.
- Merge back to develop and master
- Naming:
hotfix-*
After having developed and tested enough features for a release, use the following to create a release.