User Tools

Site Tools


kb:scc:workflows:gitflow

Gitflow

gitflow is a branching model for git created by Vincent Driessen. It forms an elegant mental model that is easy to comprehend and allows team members to develop a shared understanding of branching and releasing processes.

Detailed information can be found on A successful git branching model.

The Git Tower team wrote another detailed description on how to use gitflow with a GUI tool.

Basic usage and effect of git-flow operations on the command line:
https://danielkummer.github.io/git-flow-cheatsheet/

In a nutshell:

  • use different branches for different purposes
  • master holds only releases (and bugfixes)
  • develop holds the latest version under development
    • only tested features are merged into develop
  • all features are developed in single, separate branches called feature/xxx
    • these feature branches are merged back into develop after the feature is finished and tested

Configuration

Certain git flow specifics can be defined in the git configuration:

  git config --global gitflow.branch.master "main"
  git config --global gitflow.branch.develop "develop"
  git config --global gitflow.prefix.feature "feature/"
  git config --global gitflow.prefix.release "release/"
  git config --global gitflow.prefix.hotfix "hotfix/"
  git config --global gitflow.prefix.support "support/"
  git config --global gitflow.prefix.versiontag ""

See git flow's wiki page for more information.

kb/scc/workflows/gitflow.txt · Last modified: 2022/10/05 21:15 by joerg.hampel