Difference between revisions of "Git Branching Strategy"
From Gcube Wiki
Manuele.simi (Talk | contribs) |
Manuele.simi (Talk | contribs) |
||
Line 2: | Line 2: | ||
* Feature (named ''feature/issue'') branches are created from ''master'' (issue is the tracker issue number that describes the feature). | * Feature (named ''feature/issue'') branches are created from ''master'' (issue is the tracker issue number that describes the feature). | ||
* When a feature is complete the corresponding ''feature'' branch is merged into the ''master'' branch. | * When a feature is complete the corresponding ''feature'' branch is merged into the ''master'' branch. | ||
− | * Features may be experimental | + | * Features may be experimental. If not pursued, branches are discarded without corrupting the stability of the ''master'' branch. |
− | * When ''master'' has enough stable features it is released | + | * When ''master'' has enough stable features, it is released |
* If an issue (typically a bug requiring immediate attention) in ''master'' is detected a ''hotfix/issue'' branch is created from ''master'' (issue is the tracker issue number that reports the problem) | * If an issue (typically a bug requiring immediate attention) in ''master'' is detected a ''hotfix/issue'' branch is created from ''master'' (issue is the tracker issue number that reports the problem) | ||
* Once the ''hotfix'' is complete it is merged to ''master'' and any open ''feature'' branch (if needed) | * Once the ''hotfix'' is complete it is merged to ''master'' and any open ''feature'' branch (if needed) | ||
− | [[File:Git Branching strategy. | + | [[File:Git Branching strategy.v5.png|800px]] |
''Back to the [[Continuous_Integration_procedure_(2019) | CI guide]].'' | ''Back to the [[Continuous_Integration_procedure_(2019) | CI guide]].'' |
Revision as of 02:38, 25 May 2019
- The master branch is the stable branch. Must be always in a releasable state.
- Feature (named feature/issue) branches are created from master (issue is the tracker issue number that describes the feature).
- When a feature is complete the corresponding feature branch is merged into the master branch.
- Features may be experimental. If not pursued, branches are discarded without corrupting the stability of the master branch.
- When master has enough stable features, it is released
- If an issue (typically a bug requiring immediate attention) in master is detected a hotfix/issue branch is created from master (issue is the tracker issue number that reports the problem)
- Once the hotfix is complete it is merged to master and any open feature branch (if needed)
Back to the CI guide.