DEV Community

Carlos A. Martinez
Carlos A. Martinez

Posted on

Gitflow Workflow

drawing

What´s GitFlow ? 🙄

Gitflow Workflow is a Git workflow design that was first published and made popular by Vincent Driessen at nvie. The Gitflow Workflow defines a strict branching model designed around the project release. This provides a robust framework for managing larger projects.

Master

The master branch stores the official release history, this is production code.

Develop

The develop branch serves as an integration branch for features.

Feature

The feature branches use to develop as their parent branch and start coding new features on this branch. When a feature is complete, it gets merged back into develop. Features should never interact directly with master.

Release

The release branch gets merged into master and tagged with a version number. In addition, it should be merged back into develop

Hotfix

The hotfix branches are a lot like release branches and feature branches except they're based on master instead of develop.

Init git flow

$ git branch develop

$ git push -u origin develop

$ git branch -l
  develop
* master

$ git flow init
Which branch should be used for bringing forth production releases?
   - develop
   - master
Branch name for production releases: [master]

Which branch should be used for integration of the "next release"?
   - develop
Branch name for "next release" development: [develop]

How to name your supporting branch prefixes?
Feature branches? [feature/]
Bugfix branches? [bugfix/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []
Hooks and filters directory? [C:/Users/carlmacd/Desktop/Library/.git/hooks]
Enter fullscreen mode Exit fullscreen mode

Create a new feature

$ git checkout develop

$ git flow feature start feature_git_flow_summary

$ git push --set-upstream origin feature/feature_git_flow_summary

$ git checkout develop

$ git flow feature finish feature_git_flow_summary
Enter fullscreen mode Exit fullscreen mode

Create a new release

$ git flow release start release_1.0

$ git flow release finish 'release_1.0'
Enter fullscreen mode Exit fullscreen mode

Create a new hotfix

$ git flow hotfix start hotfix_branch

$ git flow hotfix finish hotfix_branch
Enter fullscreen mode Exit fullscreen mode

Source: atlassian gitflow 🔗

thank you for reading

Top comments (0)