Gitflow

Viet Nguyen - QSoftVietnam

Gitflow Workflow

Introduction

 

- A workflow created by Vincent Driessen

 

- Designed around project release

 

- Work well for big projects

 

How it works

 

- Historical branches (master and develop)

 

- Feature branches (feature/*)

 

- Release branches (release/*)

 

- Hotfix branches (hotfix/*)

Historical branches

 

- master: official release

- developmain branch

 

 

 

Feature branches

 

- Be created for each feature

- Use develop as their parent branch

- After completing, will be merged back into develop

 

 

 

 

Release branches

 

- Use for preparation of a production release

- Concentrate on bug fixes

- Use develop as their parent branch

- After completing, will be merged back into master and develop

 

 

 

 

Hotfix branches

 

- Use to patch production releases

- Use master as their parent branch

- After completing, will be merged back into master and develop

 

 

 

 

Gitflow Extensions

Start

 

- A collection of Git extensions for Gitflow

 

- To install: Here

 

- How to start:

 

      git branch develop
      git push origin develop
      git flow init [-d]

Feature branches

 

- To start a feature branch:

git flow feature start <feature_name> [<base>]

(<base> is a commit of branch develop)

 

- To publish the feature (which means push it remotely)

git flow feature publish <feature_name>

 

- To pull feature 

git flow feature pull <feature_name>

 

- To finish (merge into develop and delete the feature branch both locally and remotely)

git flow feature finish <feature_name>

Release branches

 

- To start a release branch:

git flow release start <release_name> [<base>]

(<base> is a commit of branch develop)

 

- To publish the release

git flow release publish <release_name>

 

- To finish (merge into develop and delete the release branch both locally and remotely)

git flow release finish <release_name>

Hotfix branches

 

- To start a hotfix:

git flow hotfix start <VERSION>

 

- To publish the hotfix

git flow hotfix publish <VERSION>

 

- To finish (merge into master and delete the release branch both locally and remotely)

git flow hotfix finish <VERSION>

NOTE

 

Everything that can be done by Gitflow extensions can be done by GIT commands

References

Q & A

Thank you !

Made with Slides.com