-
Notifications
You must be signed in to change notification settings - Fork 0
GitFlow
CARMLPipelinePrincipal edited this page Apr 12, 2022
·
1 revision
- When using the git-flow extension library, executing
git flow initon an existing repo will create thedevelopbranch
- stores the official release history
- tag all commits to main with a version number
- integration branch for features
-
featurebranches should never interact directly withmain - When a
featureis complete, it gets merged back intodevelopas their parent branch - created off of the latest on the
developbranch
- Once
develophas acquired enough features for a release or a release is approaching a due date, fork areleasebranch off ofdevelop- this starts the release cycle
- Once a release cycle is started
- NO new features can be added after this point
- ONLY bug fixes, documentation generation, and other release-oriented tasks
- When ready to ship your release:
- Merge the
releasebranch intomain- tag it and version it
- Merge the
releasebranch intodevelop
- Merge the
- Benefits of this:
- multi team collaboration to allow dedicated resources to work on release, while others work on new features for next cycle
- Works directly with
mainbranch - very similar to
releaseandfeaturebranches- based on
maininstead ofdevelop(whichreleaseandfeaturebranches rely on)
- based on
- Used to quickly patch production releases
- also similar to the
releasebranch,hotfixbranch gets merged into bothmainanddeveloponce finished - Benefits of this:
-
hotfixormaintenancebranches allow your teams to address issues without interrupting the rest of the workflow or waiting for the next release cycle
-
- Usually not used for smaller projects
- Essential if maintaining multiple major versions in parallel
- Can be used to support minor or major releases
-
support/<major>.x- i.e
support/1.x
- i.e
-
support/<major>.<minor>.xorsupport/<major>.<minor>.0- i.e
support/1.3.xorsupport/1.3.0
- i.e
-
Gitflow Workflow | Atlassian Git Tutorial
Creating a branch to work on an issue - GitHub Docs