Gitflow

From NovaOrdis Knowledge Base
Revision as of 23:23, 5 October 2018 by Ovidiu (talk | contribs) (→‎Overview)
Jump to navigation Jump to search

External

Internal

Overview

git-flow defines a branching model that is tightly coupled with the project release cycle. This model is suited for projects that have a scheduled release cycle.

git-flow comes with a well-defined set of branches, where each branch (or each branch type) has a specific role:

  • The master branch stores the official release history. The master contains the abridged history of the project, unlike develo, which contains the complete history.
  • The develop branch serves as integration branch for features. This branch contains the complete history of the project.
  • Feature branches serve to develop features. Each feature should reside on its own branch. The feature branches branch off develop, not master. When a feature is complete, the corresponding feature branch is merged back into develop.

git-flow is a merge-based solution. It does not rebase feature branches.