Difference between revisions of "Git Branching Strategy"

From Gcube Wiki
Jump to: navigation, search
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 and branches discarded without corrupting the stability of 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
+
* 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.v4.png|800px]]
+
[[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)

Git Branching strategy.v5.png

Back to the CI guide.