GITFLOW
#burningkeyboards
@denis_ristic
GITFLOW
INTRO
2
GITFLOW
INTRO
‣The central repo holds two main branches with an infinite lifetime:
‣master
‣develop
‣The different types of branches we may use are:
‣Feature branches
‣Release branches
‣Hotfix branches
‣Each of these branches have a specific purpose and are bound to
strict rules as to which branches may be their originating branch
and which branches must be their merge targets.
3
GITFLOW
FEATURE BRANCHES
‣May branch off from:
‣develop
‣Must merge back into:
‣develop
‣Branch naming convention:
‣anything except master, develop, release-*, or hotfix-*
4
GITFLOW
RELEASE BRANCHES
‣May branch off from:
‣develop
‣Must merge back into:
‣develop and master
‣Branch naming convention:
‣release-*
5
GITFLOW
HOTFIX BRANCHES
‣May branch off from:
‣master
‣Must merge back into:
‣develop and master
‣Branch naming convention:
‣hotfix-*
6
GITFLOW
INSTALL GITFLOW (WINDOWS)
‣Execute command from cygwin:
‣wget -q -O - --no-check-certificate
https://raw.github.com/petervanderdoes/
gitflow-avh/develop/contrib/gitflow-
installer.sh install stable | bash
7
GITFLOW
INITIALIZE
Start using git-flow by initializing it inside an existing git
repository:
git flow init
You'll have to answer a few questions regarding the
naming conventions for your branches.
It's recommended to use the default values.
8
GITFLOW
FEATURES
‣Develop new features for upcoming releases
‣Typically exist in developers repos only
9
GITFLOW
START A NEW FEATURE
Development of new features starting from the 'develop'
branch.
Start developing a new feature with
git flow feature start MYFEATURE
This action creates a new feature branch based on
'develop' and switches to it
10
GITFLOW
FINISH UP A FEATURE
Finish the development of a feature. This action performs
the following
Merges MYFEATURE into 'develop'
Removes the feature branch
Switches back to 'develop' branch
git flow feature finish MYFEATURE
11
GITFLOW
PUBLISH A FEATURE
Are you developing a feature in collaboration?
Publish a feature to the remote server so it can be used by
other users.
git flow feature publish MYFEATURE
12
GITFLOW
GETTING A PUBLISHED FEATURE
Get a feature published by another user.
git flow feature pull origin MYFEATURE
You can track a feature on origin by using git flow feature
track MYFEATURE
13
GITFLOW
MAKE A RELEASE
‣Support preparation of a new production release
‣Allow for minor bug fixes and preparing meta-data for a
release
14
GITFLOW
START A RELEASE
To start a release, use the git flow release command. It
creates a release branch created from the 'develop'
branch.
git flow release start RELEASE [BASE]
You can optionally supply a [BASE] commit sha-1 hash to
start the release from. The commit must be on the
'develop' branch.
15
GITFLOW
START A RELEASE
It's wise to publish the release branch after creating it to
allow release commits by other developers. Do it similar
to feature publishing with the command:
git flow release publish RELEASE
(You can track a remote release with the
git flow release track RELEASE command)
16
GITFLOW
FINISH UP A RELEASE
Finishing a release is one of the big steps in git branching.
It performs several actions:
Merges the release branch back into 'master'
Tags the release with its name
Back-merges the release into 'develop'
Removes the release branch
git flow release finish RELEASE
Don't forget to push your tags with git push --tags
17
GITFLOW
HOTFIXES
‣Hotfixes arise from the necessity to act immediately upon
an undesired state of a live production version
‣May be branched off from the corresponding tag on the
master branch that marks the production version
18
GITFLOW
CREATE A HOTFIX
Like the other git flow commands, a hotfix is started with
git flow hotfix start VERSION [BASENAME]
The version argument hereby marks the new hotfix
release name. Optionally you can specify a basename to
start from.
19
GITFLOW
FINISH A HOTFIX
By finishing a hotfix it gets merged back into develop and
master. Additionally the master merge is tagged with the
hotfix version.
git flow hotfix finish VERSION
20
GITFLOW
COMMANDS
21
GITFLOW
BACKLOG
‣Not all available commands are covered here, only the
most important ones
‣You can still use git and all its commands normally as you
know them, git flow is only a tooling collection
‣The 'support' feature is still beta, using it is not advised
22
GITFLOW
GITFLOW RESOURCES
‣Gitflow
‣http://nvie.com/posts/a-successful-git-branching-
model/
‣GitFlow cheat sheet
‣https://danielkummer.github.io/git-flow-cheatsheet/
‣BitBucket Comparing Workflows
‣https://www.atlassian.com/git/tutorials/comparing-
workflows#gitflow-workflow
23

More Related Content

PPTX
Gitflow - Una metología para manejo de Branches
PDF
Pubmi gitflow
PDF
Git Workflow With Gitflow
PDF
Git & gitflow
PDF
Git flow for daily use
PDF
Git flow Introduction
PPTX
Git flow
Gitflow - Una metología para manejo de Branches
Pubmi gitflow
Git Workflow With Gitflow
Git & gitflow
Git flow for daily use
Git flow Introduction
Git flow

What's hot (20)

PPTX
An introduction to Git and GitFlow
PDF
Git and git flow
PPTX
Git & SourceTree
PDF
Git Series. Episode 3. Git Flow and Github-Flow
PPTX
My Git workflow
PPT
Git workflows presentation
PDF
Git Tricks — git utilities that make life git easier
PDF
Git and GitHub workflows
PPTX
Git Flow and JavaScript Coding Style
ODP
Git Flow - An Introduction
PDF
Git with the flow
PDF
Git flow cheatsheet
PPTX
PDF
Git workflows
PDF
The gitflow way
PDF
DcATL 2013: Git-Flow for Daily Use
PPTX
Gitflow. A successful Git branching model.
PPTX
A successful Git branching model
PPTX
Why Aren't You Using Git Flow?
PDF
Git advanced
An introduction to Git and GitFlow
Git and git flow
Git & SourceTree
Git Series. Episode 3. Git Flow and Github-Flow
My Git workflow
Git workflows presentation
Git Tricks — git utilities that make life git easier
Git and GitHub workflows
Git Flow and JavaScript Coding Style
Git Flow - An Introduction
Git with the flow
Git flow cheatsheet
Git workflows
The gitflow way
DcATL 2013: Git-Flow for Daily Use
Gitflow. A successful Git branching model.
A successful Git branching model
Why Aren't You Using Git Flow?
Git advanced
Ad

Similar to 19 GitFlow #burningkeyboards (20)

PPTX
git-flow R3Labs
PPTX
Understanding GitFlow by Ian Vizarra
PDF
18 Git #burningkeyboards
PDF
Introduction to git flow
PDF
Introducing Git and git flow
PDF
VCS for Teamwork - GIT Workshop
PPTX
GIT in a nutshell
PDF
Improving your workflow with git
PDF
PPTX
Git - Simplified For Testers
PDF
A Git Workflow Model or Branching Strategy
PDF
Nina Zakharenko - Introduction to Git - Start SLC 2015
PPTX
Version control git day03
PDF
Using Github for DSpace development
PPTX
GitFlow Workshop
PDF
Managing releases effectively through git
PPTX
Git Basics
PDF
Git basics a starter on git and its ecosystem
PDF
Switching to Git
PDF
Source code management with Git
git-flow R3Labs
Understanding GitFlow by Ian Vizarra
18 Git #burningkeyboards
Introduction to git flow
Introducing Git and git flow
VCS for Teamwork - GIT Workshop
GIT in a nutshell
Improving your workflow with git
Git - Simplified For Testers
A Git Workflow Model or Branching Strategy
Nina Zakharenko - Introduction to Git - Start SLC 2015
Version control git day03
Using Github for DSpace development
GitFlow Workshop
Managing releases effectively through git
Git Basics
Git basics a starter on git and its ecosystem
Switching to Git
Source code management with Git
Ad

More from Denis Ristic (20)

PDF
Magento Continuous Integration & Continuous Delivery @MM17HR
PDF
Continuous integration & Continuous Delivery @DeVz
PDF
25 Intro to Symfony #burningkeyboards
PDF
24 Scrum #burningkeyboards
PDF
23 LAMP Stack #burningkeyboards
PDF
22 REST & JSON API Design #burningkeyboards
PDF
21 HTTP Protocol #burningkeyboards
PDF
20 PHP Static Analysis and Documentation Generators #burningkeyboards
PDF
17 Linux Basics #burningkeyboards
PDF
16 MySQL Optimization #burningkeyboards
PDF
15 MySQL Basics #burningkeyboards
PDF
14 Dependency Injection #burningkeyboards
PDF
13 PHPUnit #burningkeyboards
PDF
12 Composer #burningkeyboards
PDF
11 PHP Security #burningkeyboards
PDF
10 PHP Design Patterns #burningkeyboards
PDF
09 Object Oriented Programming in PHP #burningkeyboards
PDF
08 Advanced PHP #burningkeyboards
PDF
07 Introduction to PHP #burningkeyboards
PDF
06 jQuery #burningkeyboards
Magento Continuous Integration & Continuous Delivery @MM17HR
Continuous integration & Continuous Delivery @DeVz
25 Intro to Symfony #burningkeyboards
24 Scrum #burningkeyboards
23 LAMP Stack #burningkeyboards
22 REST & JSON API Design #burningkeyboards
21 HTTP Protocol #burningkeyboards
20 PHP Static Analysis and Documentation Generators #burningkeyboards
17 Linux Basics #burningkeyboards
16 MySQL Optimization #burningkeyboards
15 MySQL Basics #burningkeyboards
14 Dependency Injection #burningkeyboards
13 PHPUnit #burningkeyboards
12 Composer #burningkeyboards
11 PHP Security #burningkeyboards
10 PHP Design Patterns #burningkeyboards
09 Object Oriented Programming in PHP #burningkeyboards
08 Advanced PHP #burningkeyboards
07 Introduction to PHP #burningkeyboards
06 jQuery #burningkeyboards

Recently uploaded (20)

PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Hybrid model detection and classification of lung cancer
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Five Habits of High-Impact Board Members
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Final SEM Unit 1 for mit wpu at pune .pptx
PPTX
The various Industrial Revolutions .pptx
PPT
Geologic Time for studying geology for geologist
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
DP Operators-handbook-extract for the Mautical Institute
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PDF
A review of recent deep learning applications in wood surface defect identifi...
PDF
WOOl fibre morphology and structure.pdf for textiles
PPT
Module 1.ppt Iot fundamentals and Architecture
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
sustainability-14-14877-v2.pddhzftheheeeee
Benefits of Physical activity for teenagers.pptx
Hybrid model detection and classification of lung cancer
Enhancing emotion recognition model for a student engagement use case through...
Web Crawler for Trend Tracking Gen Z Insights.pptx
Chapter 5: Probability Theory and Statistics
Five Habits of High-Impact Board Members
Hindi spoken digit analysis for native and non-native speakers
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Assigned Numbers - 2025 - Bluetooth® Document
Final SEM Unit 1 for mit wpu at pune .pptx
The various Industrial Revolutions .pptx
Geologic Time for studying geology for geologist
1 - Historical Antecedents, Social Consideration.pdf
DP Operators-handbook-extract for the Mautical Institute
O2C Customer Invoices to Receipt V15A.pptx
A review of recent deep learning applications in wood surface defect identifi...
WOOl fibre morphology and structure.pdf for textiles
Module 1.ppt Iot fundamentals and Architecture

19 GitFlow #burningkeyboards

  • 3. GITFLOW INTRO ‣The central repo holds two main branches with an infinite lifetime: ‣master ‣develop ‣The different types of branches we may use are: ‣Feature branches ‣Release branches ‣Hotfix branches ‣Each of these branches have a specific purpose and are bound to strict rules as to which branches may be their originating branch and which branches must be their merge targets. 3
  • 4. GITFLOW FEATURE BRANCHES ‣May branch off from: ‣develop ‣Must merge back into: ‣develop ‣Branch naming convention: ‣anything except master, develop, release-*, or hotfix-* 4
  • 5. GITFLOW RELEASE BRANCHES ‣May branch off from: ‣develop ‣Must merge back into: ‣develop and master ‣Branch naming convention: ‣release-* 5
  • 6. GITFLOW HOTFIX BRANCHES ‣May branch off from: ‣master ‣Must merge back into: ‣develop and master ‣Branch naming convention: ‣hotfix-* 6
  • 7. GITFLOW INSTALL GITFLOW (WINDOWS) ‣Execute command from cygwin: ‣wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/ gitflow-avh/develop/contrib/gitflow- installer.sh install stable | bash 7
  • 8. GITFLOW INITIALIZE Start using git-flow by initializing it inside an existing git repository: git flow init You'll have to answer a few questions regarding the naming conventions for your branches. It's recommended to use the default values. 8
  • 9. GITFLOW FEATURES ‣Develop new features for upcoming releases ‣Typically exist in developers repos only 9
  • 10. GITFLOW START A NEW FEATURE Development of new features starting from the 'develop' branch. Start developing a new feature with git flow feature start MYFEATURE This action creates a new feature branch based on 'develop' and switches to it 10
  • 11. GITFLOW FINISH UP A FEATURE Finish the development of a feature. This action performs the following Merges MYFEATURE into 'develop' Removes the feature branch Switches back to 'develop' branch git flow feature finish MYFEATURE 11
  • 12. GITFLOW PUBLISH A FEATURE Are you developing a feature in collaboration? Publish a feature to the remote server so it can be used by other users. git flow feature publish MYFEATURE 12
  • 13. GITFLOW GETTING A PUBLISHED FEATURE Get a feature published by another user. git flow feature pull origin MYFEATURE You can track a feature on origin by using git flow feature track MYFEATURE 13
  • 14. GITFLOW MAKE A RELEASE ‣Support preparation of a new production release ‣Allow for minor bug fixes and preparing meta-data for a release 14
  • 15. GITFLOW START A RELEASE To start a release, use the git flow release command. It creates a release branch created from the 'develop' branch. git flow release start RELEASE [BASE] You can optionally supply a [BASE] commit sha-1 hash to start the release from. The commit must be on the 'develop' branch. 15
  • 16. GITFLOW START A RELEASE It's wise to publish the release branch after creating it to allow release commits by other developers. Do it similar to feature publishing with the command: git flow release publish RELEASE (You can track a remote release with the git flow release track RELEASE command) 16
  • 17. GITFLOW FINISH UP A RELEASE Finishing a release is one of the big steps in git branching. It performs several actions: Merges the release branch back into 'master' Tags the release with its name Back-merges the release into 'develop' Removes the release branch git flow release finish RELEASE Don't forget to push your tags with git push --tags 17
  • 18. GITFLOW HOTFIXES ‣Hotfixes arise from the necessity to act immediately upon an undesired state of a live production version ‣May be branched off from the corresponding tag on the master branch that marks the production version 18
  • 19. GITFLOW CREATE A HOTFIX Like the other git flow commands, a hotfix is started with git flow hotfix start VERSION [BASENAME] The version argument hereby marks the new hotfix release name. Optionally you can specify a basename to start from. 19
  • 20. GITFLOW FINISH A HOTFIX By finishing a hotfix it gets merged back into develop and master. Additionally the master merge is tagged with the hotfix version. git flow hotfix finish VERSION 20
  • 22. GITFLOW BACKLOG ‣Not all available commands are covered here, only the most important ones ‣You can still use git and all its commands normally as you know them, git flow is only a tooling collection ‣The 'support' feature is still beta, using it is not advised 22
  • 23. GITFLOW GITFLOW RESOURCES ‣Gitflow ‣http://nvie.com/posts/a-successful-git-branching- model/ ‣GitFlow cheat sheet ‣https://danielkummer.github.io/git-flow-cheatsheet/ ‣BitBucket Comparing Workflows ‣https://www.atlassian.com/git/tutorials/comparing- workflows#gitflow-workflow 23