SlideShare a Scribd company logo
2
Most read
10
Most read
14
Most read
Git Flow Introduction
David Paluy
August 2012
Branches




A successful Git branching model
Master Branch

origin/master to be the main branch where
the source code of HEAD always reflects a
production-ready state.


All of the changes should be merged back into
master somehow and then tagged with a
release number.
Develop Branch

origin/develop to be the main branch where
the source code of HEAD always reflects a
state with the latest delivered development
changes for the next release. Some would call
this the “integration branch”. This is where any
automatic nightly builds are built from.


Each time when changes are merged back
into master, this is a new production release
by definition.
Supporting branches

●   Feature branches
●   Release branches
●   Hotfix branches
Feature branches

●   May branch off from: develop
●   Must merge back into: develop
●   Branch naming convention: anything except
    master, develop, release-*, or hotfix-*
●   Used to develop new features for the
    upcoming or a distant future release
Release branches

●   May branch off from: develop
●   Must merge back into: develop and master
●   Branch naming convention: release-*
●   Release branches support preparation of a
    new production release. They allow for minor
    bug fixes and preparing meta-data for a
    release (version number, build dates, etc.)
●   By doing all of this work on a release branch,
    the develop branch is cleared to receive
    features for the next big release.
Hotfix branches

●   May branch off from:
    master
●   Must merge back into:
    develop and master
●   Branch naming
    convention: hotfix-*
Gitflow

A collection of Git extensions to provide high-
level repository operations
https://github.com/nvie/gitflow
Initialize basic branch structure

git flow init [-d]


The -d flag will accept all defaults.
List / Start / Finish feature branches

  git flow feature
  git flow feature start <name>
  git flow feature finish <name>

Push / Pull feature branches
  git flow feature publish <name>
  git flow feature pull <remote> <name>
List / Start / Finish release branches

 git flow release
 git flow release start <release>
 git flow release finish <release>
List / Start / Finish hotfix branches

git flow hotfix
git flow hotfix start <release>
git flow hotfix finish <release>
Summary
Summary

It forms an elegant mental model that is easy
to comprehend and allows team members
to develop a shared understanding of the
branching and releasing processes.

More Related Content

PDF
Git flow
PDF
Git-flow workflow and pull-requests
PPTX
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
PDF
Introduction to git flow
PDF
Git and git flow
PPT
Git basic
PDF
Introduction a Flutter
PDF
Another Scrum Cheat Sheet (great one pager)
Git flow
Git-flow workflow and pull-requests
Continues Integration and Continuous Delivery with Azure DevOps - Deploy Anyt...
Introduction to git flow
Git and git flow
Git basic
Introduction a Flutter
Another Scrum Cheat Sheet (great one pager)

What's hot (20)

PDF
Git Series. Episode 3. Git Flow and Github-Flow
PPTX
Git and GitFlow branching model
PPTX
Git - Basic Crash Course
PDF
Git training v10
KEY
Introduction to Git
PPTX
Git & GitLab
PDF
Git and github 101
PPTX
A successful Git branching model
PPTX
GitLab.pptx
PPTX
Introduction to Gitlab | Gitlab 101 | Training Session
PPTX
Git branching strategies
PDF
Git - An Introduction
PDF
Gitlab ci, cncf.sk
PPT
Git workflows presentation
PPTX
Git 101 for Beginners
PDF
Continuous Integration/Deployment with Gitlab CI
PPTX
Intro to git and git hub
PDF
Introduction to Git
PDF
Introducing GitLab (September 2018)
Git Series. Episode 3. Git Flow and Github-Flow
Git and GitFlow branching model
Git - Basic Crash Course
Git training v10
Introduction to Git
Git & GitLab
Git and github 101
A successful Git branching model
GitLab.pptx
Introduction to Gitlab | Gitlab 101 | Training Session
Git branching strategies
Git - An Introduction
Gitlab ci, cncf.sk
Git workflows presentation
Git 101 for Beginners
Continuous Integration/Deployment with Gitlab CI
Intro to git and git hub
Introduction to Git
Introducing GitLab (September 2018)
Ad

Viewers also liked (20)

PDF
Git Workflow With Gitflow
PDF
Git workflows
PDF
Git flow for daily use
PDF
Git Branching Model
PPTX
Why Aren't You Using Git Flow?
PPTX
Git workflows
PPTX
Git flow
PDF
Git flow cheatsheet
PPTX
Git collaboration
PDF
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
PPTX
Git in Continuous Deployment
PDF
Git branch management
PDF
Git workshop
PDF
Aprendendo Git
PDF
Kotlin Developer Starter in Android projects
PDF
Android antipatterns
PDF
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
PDF
GNU AS簡介
KEY
The everyday developer's guide to version control with Git
Git Workflow With Gitflow
Git workflows
Git flow for daily use
Git Branching Model
Why Aren't You Using Git Flow?
Git workflows
Git flow
Git flow cheatsheet
Git collaboration
Git into the Flow, with the Ultimate Continuous Delivery Workflow on Heroku
Git in Continuous Deployment
Git branch management
Git workshop
Aprendendo Git
Kotlin Developer Starter in Android projects
Android antipatterns
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
GNU AS簡介
The everyday developer's guide to version control with Git
Ad

Similar to Git flow Introduction (20)

PDF
Introducing Git and git flow
PPTX
How to use Git Branch
PDF
PDF
Gitflow Workflow
PDF
Source code management with Git
PPTX
Git development workflow
PDF
A Git Workflow Model or Branching Strategy
PPTX
git-flow R3Labs
PPTX
Understanding GitFlow by Ian Vizarra
PPTX
GitFlow Workshop
PDF
Git and GitHub workflows
PPTX
Gitflow - Branching and Merging Flow for Git
PPTX
Gitflow - Branching and Merging Flow for Git
PDF
Git basics a starter on git and its ecosystem
PDF
Git for developers
PPTX
Git usage (Basics and workflow)
PPTX
PPTX
git Technologies
PDF
Git and Git Workflow Models as Catalysts of Software Development
Introducing Git and git flow
How to use Git Branch
Gitflow Workflow
Source code management with Git
Git development workflow
A Git Workflow Model or Branching Strategy
git-flow R3Labs
Understanding GitFlow by Ian Vizarra
GitFlow Workshop
Git and GitHub workflows
Gitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for Git
Git basics a starter on git and its ecosystem
Git for developers
Git usage (Basics and workflow)
git Technologies
Git and Git Workflow Models as Catalysts of Software Development

More from David Paluy (15)

PPTX
Intro to Smart Contracts
PDF
Decentralizing Everything with Blockchain
PDF
Testing with Rspec 3
PDF
Continuous integration for Ruby on Rails
PDF
Tdd - Test Driven Development
PDF
Knowledge sharing at MESH
PDF
Juicy Ruby 2.1
ODP
The Secret: How Programmers Develop Code
ODP
Tools to help you understand other people's code
ODP
Debugging and Profiling Rails Application
ODP
Security on Rails
PDF
Ruby On Rails coding conventions, standards and best practices
ODP
Faster on Rails
PPT
Howto prepare fund raising presentation
PPT
Test driven-development
Intro to Smart Contracts
Decentralizing Everything with Blockchain
Testing with Rspec 3
Continuous integration for Ruby on Rails
Tdd - Test Driven Development
Knowledge sharing at MESH
Juicy Ruby 2.1
The Secret: How Programmers Develop Code
Tools to help you understand other people's code
Debugging and Profiling Rails Application
Security on Rails
Ruby On Rails coding conventions, standards and best practices
Faster on Rails
Howto prepare fund raising presentation
Test driven-development

Recently uploaded (20)

PDF
Elle Lalli on The Role of Emotional Intelligence in Entrepreneurship
PPTX
Pradeep Kumar Roll no.30 Paper I.pptx....
PDF
The Spotlight Effect No One Is Thinking About You as Much as You Think - by M...
PPTX
Chapter-7-The-Spiritual-Self-.pptx-First
PPTX
Personal Development - By Knowing Oneself?
PPTX
Learn about numerology and do tarot reading
PDF
Red Light Wali Muskurahat – A Heart-touching Hindi Story
PPTX
SELF ASSESSMENT -SNAPSHOT.pptx an index of yourself by Dr NIKITA SHARMA
PPTX
Presentation on interview preparation.pt
PPTX
cấu trúc sử dụng mẫu Cause - Effects.pptx
PPTX
show1- motivational ispiring positive thinking
PDF
SEX-GENDER-AND-SEXUALITY-LESSON-1-M (2).pdf
PPTX
Learn how to use Portable Grinders Safely
PPTX
Self -Management and Self Awareness.pptx
PPTX
diasspresentationndkcnskndncelklkfndc.pptx
PPTX
Learn how to prevent Workplace Incidents?
PPTX
Learn numerology content and join tarot reading
PPTX
How to Deal with Imposter Syndrome for Personality Development?
PDF
Attachment Theory What Childhood Says About Your Relationships.pdf
PPTX
Travel mania in india needs to change the world
Elle Lalli on The Role of Emotional Intelligence in Entrepreneurship
Pradeep Kumar Roll no.30 Paper I.pptx....
The Spotlight Effect No One Is Thinking About You as Much as You Think - by M...
Chapter-7-The-Spiritual-Self-.pptx-First
Personal Development - By Knowing Oneself?
Learn about numerology and do tarot reading
Red Light Wali Muskurahat – A Heart-touching Hindi Story
SELF ASSESSMENT -SNAPSHOT.pptx an index of yourself by Dr NIKITA SHARMA
Presentation on interview preparation.pt
cấu trúc sử dụng mẫu Cause - Effects.pptx
show1- motivational ispiring positive thinking
SEX-GENDER-AND-SEXUALITY-LESSON-1-M (2).pdf
Learn how to use Portable Grinders Safely
Self -Management and Self Awareness.pptx
diasspresentationndkcnskndncelklkfndc.pptx
Learn how to prevent Workplace Incidents?
Learn numerology content and join tarot reading
How to Deal with Imposter Syndrome for Personality Development?
Attachment Theory What Childhood Says About Your Relationships.pdf
Travel mania in india needs to change the world

Git flow Introduction

  • 1. Git Flow Introduction David Paluy August 2012
  • 2. Branches A successful Git branching model
  • 3. Master Branch origin/master to be the main branch where the source code of HEAD always reflects a production-ready state. All of the changes should be merged back into master somehow and then tagged with a release number.
  • 4. Develop Branch origin/develop to be the main branch where the source code of HEAD always reflects a state with the latest delivered development changes for the next release. Some would call this the “integration branch”. This is where any automatic nightly builds are built from. Each time when changes are merged back into master, this is a new production release by definition.
  • 5. Supporting branches ● Feature branches ● Release branches ● Hotfix branches
  • 6. Feature branches ● May branch off from: develop ● Must merge back into: develop ● Branch naming convention: anything except master, develop, release-*, or hotfix-* ● Used to develop new features for the upcoming or a distant future release
  • 7. Release branches ● May branch off from: develop ● Must merge back into: develop and master ● Branch naming convention: release-* ● Release branches support preparation of a new production release. They allow for minor bug fixes and preparing meta-data for a release (version number, build dates, etc.) ● By doing all of this work on a release branch, the develop branch is cleared to receive features for the next big release.
  • 8. Hotfix branches ● May branch off from: master ● Must merge back into: develop and master ● Branch naming convention: hotfix-*
  • 9. Gitflow A collection of Git extensions to provide high- level repository operations https://github.com/nvie/gitflow
  • 10. Initialize basic branch structure git flow init [-d] The -d flag will accept all defaults.
  • 11. List / Start / Finish feature branches git flow feature git flow feature start <name> git flow feature finish <name> Push / Pull feature branches git flow feature publish <name> git flow feature pull <remote> <name>
  • 12. List / Start / Finish release branches git flow release git flow release start <release> git flow release finish <release>
  • 13. List / Start / Finish hotfix branches git flow hotfix git flow hotfix start <release> git flow hotfix finish <release>
  • 15. Summary It forms an elegant mental model that is easy to comprehend and allows team members to develop a shared understanding of the branching and releasing processes.