SlideShare a Scribd company logo
1 of 19
GETTING STARTED WITH GIT FLOW 
BASIC WORKFLOW EXAMPLE 
COMPILED FOR KOSMOS AND KAOS
Time 
release 
feature develop branches hotfixes master 
branches 
Feature for 
future 
release 
Tag 
1.0 
Major 
feature for 
next release 
From this point on, “next 
release” means the 
release after 1.0 
Severe bug 
fixed for 
production: 
hotfix 0.2 
Bugfixes from 
rel. branch 
may be 
continuously 
merged back 
into develop 
Tag 
0.1 
Tag 
0.2 
Incorporate 
bugfix in 
develop 
Start of release 
branch for 
1.0 
Only bugfixes! 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model
DEVELOPING WITH GIT FLOW 
• Benefits 
• Parallel development 
• code that is not finished is not hindering development of other features 
• Collaboration 
• developing features increases clarity 
• features have their own sandbox (feature branch) 
• Release branches 
• Allows better control of what get shipped to test and production 
• Easier to integrate with CI tools (Contious Integration) 
• Hotfixes 
• Special branch to do emergency fixes to “tagged” releases. 
• Disadvantages 
• You might have to learn something new and memorize :)
Developing Features
Time 
develop master 
Tag 
0.1 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model 
When starting 
with git flow 
you will have 
two branches 
Master is the 
Production Branch 
Develop is the 
Development Branch 
Git flow is initialized 
with “git flow init”
Programmer 
starts a feature 
“git flow feature start myFeature” 
Time 
feature develop master 
branches 
Major 
feature for 
next release 
Tag 
0.1 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model 
Programmer 
gets assigned 
a task from the 
project manager 
Publish feature to peers 
“git flow feature myFeature”
Time 
feature develop master 
branches 
Feature for 
future 
release 
Major 
feature for 
next release 
Tag 
0.1 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model 
Programmer commits to the 
myFeature branch and when 
finished he finishes the myFeature 
“git flow feature finish myFeature” 
You can have multiple feature 
branches
Time 
feature develop master 
branches 
Feature for 
future 
release 
Major 
feature for 
next release 
From this point on, “next 
release” means the 
release after 1.0 
Tag 
0.1 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model
DEVELOPING FEATURES RECAP 
• git flow feature start myFeature 
• git flow feature publish myFeature (for peer 
programmers) 
• commit work as usual 
• git flow feature finish myFeature 
• myFeature is now a part of the development branch
Release Branch
RELEASING CODE 
• Now we want to release our code 
• we start off by creating a release branch 
• then we review our release branch and apply bug 
fixes until we are satisfied. 
• and when this is done we finish the release
Time 
release 
feature develop branches master 
branches 
Feature for 
future 
release 
Tag 
1.0 
Major 
feature for 
next release 
From this point on, “next 
release” means the 
release after 1.0 
Bugfixes from 
rel. branch 
may be 
continuously 
merged back 
into develop 
Tag 
0.1 
Incorporate 
bugfix in 
develop 
Start of release 
branch for 
1.0 
Only bugfixes! 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model 
Create the release branch 
“git flow release start 0.1” 
Publish the release branch 
“git flow release publish 0.1” 
Do commit as ususal 
Finish the release branch 
“git flow release finish 0.1”
RELEASING RECAP 
• Release 0.1 
• git flow release start 0.1 
• git flow release publish 0.1 
• git commit -a -m “Some fixes" 
• git flow release finish 0.1 
• Release 0.1 is now a “tag” and is merged back into master 
and development branches
Hotfixes
HOTFIXES 
• Sometimes we have to do hot fixes 
• Minor tweaks and changes (typos and such) 
• Critical bugs that needs to be fixed 
• etc … 
• For stabilizing or fixing current release in production. 
Fixes are merged back into development branch.
Time 
release 
feature develop branches hotfixes master 
branches 
Feature for 
future 
release 
Tag 
1.0 
Major 
feature for 
next release 
From this point on, “next 
release” means the 
release after 1.0 
Severe bug 
fixed for 
production: 
hotfix 0.2 
Bugfixes from 
rel. branch 
may be 
continuously 
merged back 
into develop 
Tag 
0.1 
Tag 
0.2 
Incorporate 
bugfix in 
develop 
Start of release 
branch for 
1.0 
Only bugfixes! 
Author: Vincent Driessen 
Original blog post: http://nvie.com/archives/323 
License: Creative Commons 
git flow branching model 
Programmer starts a 
hotfix by issuing 
“git flow hotfix start myHotfix” 
Programmer finishes a 
hotfix by issuing 
“git flow hotfix finish myHotfix”
PIMPING UP YOUR .GITCONFIG 
• Can increase productivity 
• See mine for example 
https://gist.github.com/samueljon/1042930 
• When using git flow it can be useful to do a 
• “git push -v —tags origin develop:develop master:master” 
see alias in gist named kosmos. 
• git lola (alias for git log —graph —decorate —pretty=online 
—abbrev-commit —all) see alias in gist named lola.
WRAPPING UP 
• Git flow is extremely useful 
• Adds complexity but benefits are greater once you 
get used to the workflow 
• This handy cheat sheet can help you while you get 
the hang of it : http://danielkummer.github.io/git-flow-cheatsheet/
Thank you 
Samúel Jón Gunnarsson 
@samueljon

More Related Content

What's hot

你所不知道的 DDD - 文件驅動開發
你所不知道的 DDD - 文件驅動開發你所不知道的 DDD - 文件驅動開發
你所不知道的 DDD - 文件驅動開發志龍 陳
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 OverviewMike Ensor
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Git basics to advance with diagrams
Git basics to advance with diagramsGit basics to advance with diagrams
Git basics to advance with diagramsDilum Navanjana
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
Etsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureEtsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureDan McKinley
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くshinjiigarashi
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Noa Harel
 

What's hot (20)

你所不知道的 DDD - 文件驅動開發
你所不知道的 DDD - 文件驅動開發你所不知道的 DDD - 文件驅動開發
你所不知道的 DDD - 文件驅動開發
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git training v10
Git training v10Git training v10
Git training v10
 
Maven 3 Overview
Maven 3  OverviewMaven 3  Overview
Maven 3 Overview
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Learning git
Learning gitLearning git
Learning git
 
Git basics to advance with diagrams
Git basics to advance with diagramsGit basics to advance with diagrams
Git basics to advance with diagrams
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
Git in 10 minutes
Git in 10 minutesGit in 10 minutes
Git in 10 minutes
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework.Net Core 1.0 vs .NET Framework
.Net Core 1.0 vs .NET Framework
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Etsy Activity Feeds Architecture
Etsy Activity Feeds ArchitectureEtsy Activity Feeds Architecture
Etsy Activity Feeds Architecture
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Git basics
Git basicsGit basics
Git basics
 
PHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩くPHP 8 で Web 以外の世界の扉を叩く
PHP 8 で Web 以外の世界の扉を叩く
 
Git (実践入門編)
Git (実践入門編)Git (実践入門編)
Git (実践入門編)
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
GitHub Presentation
GitHub PresentationGitHub Presentation
GitHub Presentation
 

Viewers also liked

Facilitation les rituels agiles
Facilitation les rituels agilesFacilitation les rituels agiles
Facilitation les rituels agilesMathieu Gandin
 
Git Workflow Practice
Git Workflow PracticeGit Workflow Practice
Git Workflow PracticeAndy Wang
 
Git, an Illustrated Primer
Git, an Illustrated PrimerGit, an Illustrated Primer
Git, an Illustrated PrimerDaniel Cousineau
 
Checkitmobile Git Workshop
Checkitmobile Git WorkshopCheckitmobile Git Workshop
Checkitmobile Git WorkshopGerrit Wanderer
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikovInna Kravchenko
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaEdureka!
 
SOURCE CODE MANAGEMENT SYSTEM (GITHUB)
SOURCE CODE MANAGEMENT SYSTEM (GITHUB)SOURCE CODE MANAGEMENT SYSTEM (GITHUB)
SOURCE CODE MANAGEMENT SYSTEM (GITHUB)Gracy Joseph
 
Git workflow in agile development
Git workflow in agile developmentGit workflow in agile development
Git workflow in agile developmentZack Siri
 
Introducing Git to your FTP workflow
Introducing Git to your FTP workflow Introducing Git to your FTP workflow
Introducing Git to your FTP workflow Roman Rus
 
A painless git workflow
A painless git workflowA painless git workflow
A painless git workflowrogthefrog
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systemsxSawyer
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & DockerJoerg Henning
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by stepBinh Quan Duc
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CIColCh
 

Viewers also liked (16)

Facilitation les rituels agiles
Facilitation les rituels agilesFacilitation les rituels agiles
Facilitation les rituels agiles
 
Git Workflow Practice
Git Workflow PracticeGit Workflow Practice
Git Workflow Practice
 
Git, an Illustrated Primer
Git, an Illustrated PrimerGit, an Illustrated Primer
Git, an Illustrated Primer
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
 
Checkitmobile Git Workshop
Checkitmobile Git WorkshopCheckitmobile Git Workshop
Checkitmobile Git Workshop
 
Subversion
SubversionSubversion
Subversion
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikov
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
 
SOURCE CODE MANAGEMENT SYSTEM (GITHUB)
SOURCE CODE MANAGEMENT SYSTEM (GITHUB)SOURCE CODE MANAGEMENT SYSTEM (GITHUB)
SOURCE CODE MANAGEMENT SYSTEM (GITHUB)
 
Git workflow in agile development
Git workflow in agile developmentGit workflow in agile development
Git workflow in agile development
 
Introducing Git to your FTP workflow
Introducing Git to your FTP workflow Introducing Git to your FTP workflow
Introducing Git to your FTP workflow
 
A painless git workflow
A painless git workflowA painless git workflow
A painless git workflow
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
 

Similar to Git flow workflow example

How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHubNYC DevShop
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow WorkshopSyed Imam
 
Gitt and Git-flow
Gitt and Git-flowGitt and Git-flow
Gitt and Git-flowMd. Masud
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jiralenamattt
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with GitRadu Barbu
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel developmentshalom938
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
 
CS_Note_Introduction to Git Workflow.pdf
CS_Note_Introduction to Git Workflow.pdfCS_Note_Introduction to Git Workflow.pdf
CS_Note_Introduction to Git Workflow.pdfalbusfons939393
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
 
Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)Yeasin Abedin
 
Git for developers
Git for developersGit for developers
Git for developersHacen Dadda
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow Sebin Benjamin
 

Similar to Git flow workflow example (20)

How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
 
Gitt and Git-flow
Gitt and Git-flowGitt and Git-flow
Gitt and Git-flow
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with Git
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel development
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Gitflow Workflow
Gitflow WorkflowGitflow Workflow
Gitflow Workflow
 
CS_Note_Introduction to Git Workflow.pdf
CS_Note_Introduction to Git Workflow.pdfCS_Note_Introduction to Git Workflow.pdf
CS_Note_Introduction to Git Workflow.pdf
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
 
Introduction to Git (part 3)
Introduction to Git (part 3)Introduction to Git (part 3)
Introduction to Git (part 3)
 
Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)
 
Subversion
SubversionSubversion
Subversion
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
 
git Technologies
git Technologiesgit Technologies
git Technologies
 
Git for developers
Git for developersGit for developers
Git for developers
 
Git flow
Git flowGit flow
Git flow
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 

More from Samúel Jón Gunnarsson

More from Samúel Jón Gunnarsson (6)

Hvað er netscaler
Hvað er netscalerHvað er netscaler
Hvað er netscaler
 
Arcís esri euc 2011
Arcís esri euc 2011Arcís esri euc 2011
Arcís esri euc 2011
 
Landupplýsingagáttir og open source
Landupplýsingagáttir og open sourceLandupplýsingagáttir og open source
Landupplýsingagáttir og open source
 
Stytt útgáfa opin hugbúnaður í rekstri hjá skýrr
Stytt útgáfa opin hugbúnaður í rekstri hjá skýrrStytt útgáfa opin hugbúnaður í rekstri hjá skýrr
Stytt útgáfa opin hugbúnaður í rekstri hjá skýrr
 
Opin hugbúnaður í rekstri hjá skýrr
Opin hugbúnaður í rekstri hjá skýrrOpin hugbúnaður í rekstri hjá skýrr
Opin hugbúnaður í rekstri hjá skýrr
 
Morgunverðarfundur.um.opensource.i.rekstri.hja.skyrr
Morgunverðarfundur.um.opensource.i.rekstri.hja.skyrrMorgunverðarfundur.um.opensource.i.rekstri.hja.skyrr
Morgunverðarfundur.um.opensource.i.rekstri.hja.skyrr
 

Recently uploaded

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 

Recently uploaded (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 

Git flow workflow example

  • 1. GETTING STARTED WITH GIT FLOW BASIC WORKFLOW EXAMPLE COMPILED FOR KOSMOS AND KAOS
  • 2. Time release feature develop branches hotfixes master branches Feature for future release Tag 1.0 Major feature for next release From this point on, “next release” means the release after 1.0 Severe bug fixed for production: hotfix 0.2 Bugfixes from rel. branch may be continuously merged back into develop Tag 0.1 Tag 0.2 Incorporate bugfix in develop Start of release branch for 1.0 Only bugfixes! Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model
  • 3. DEVELOPING WITH GIT FLOW • Benefits • Parallel development • code that is not finished is not hindering development of other features • Collaboration • developing features increases clarity • features have their own sandbox (feature branch) • Release branches • Allows better control of what get shipped to test and production • Easier to integrate with CI tools (Contious Integration) • Hotfixes • Special branch to do emergency fixes to “tagged” releases. • Disadvantages • You might have to learn something new and memorize :)
  • 5. Time develop master Tag 0.1 Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model When starting with git flow you will have two branches Master is the Production Branch Develop is the Development Branch Git flow is initialized with “git flow init”
  • 6. Programmer starts a feature “git flow feature start myFeature” Time feature develop master branches Major feature for next release Tag 0.1 Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model Programmer gets assigned a task from the project manager Publish feature to peers “git flow feature myFeature”
  • 7. Time feature develop master branches Feature for future release Major feature for next release Tag 0.1 Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model Programmer commits to the myFeature branch and when finished he finishes the myFeature “git flow feature finish myFeature” You can have multiple feature branches
  • 8. Time feature develop master branches Feature for future release Major feature for next release From this point on, “next release” means the release after 1.0 Tag 0.1 Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model
  • 9. DEVELOPING FEATURES RECAP • git flow feature start myFeature • git flow feature publish myFeature (for peer programmers) • commit work as usual • git flow feature finish myFeature • myFeature is now a part of the development branch
  • 11. RELEASING CODE • Now we want to release our code • we start off by creating a release branch • then we review our release branch and apply bug fixes until we are satisfied. • and when this is done we finish the release
  • 12. Time release feature develop branches master branches Feature for future release Tag 1.0 Major feature for next release From this point on, “next release” means the release after 1.0 Bugfixes from rel. branch may be continuously merged back into develop Tag 0.1 Incorporate bugfix in develop Start of release branch for 1.0 Only bugfixes! Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model Create the release branch “git flow release start 0.1” Publish the release branch “git flow release publish 0.1” Do commit as ususal Finish the release branch “git flow release finish 0.1”
  • 13. RELEASING RECAP • Release 0.1 • git flow release start 0.1 • git flow release publish 0.1 • git commit -a -m “Some fixes" • git flow release finish 0.1 • Release 0.1 is now a “tag” and is merged back into master and development branches
  • 15. HOTFIXES • Sometimes we have to do hot fixes • Minor tweaks and changes (typos and such) • Critical bugs that needs to be fixed • etc … • For stabilizing or fixing current release in production. Fixes are merged back into development branch.
  • 16. Time release feature develop branches hotfixes master branches Feature for future release Tag 1.0 Major feature for next release From this point on, “next release” means the release after 1.0 Severe bug fixed for production: hotfix 0.2 Bugfixes from rel. branch may be continuously merged back into develop Tag 0.1 Tag 0.2 Incorporate bugfix in develop Start of release branch for 1.0 Only bugfixes! Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons git flow branching model Programmer starts a hotfix by issuing “git flow hotfix start myHotfix” Programmer finishes a hotfix by issuing “git flow hotfix finish myHotfix”
  • 17. PIMPING UP YOUR .GITCONFIG • Can increase productivity • See mine for example https://gist.github.com/samueljon/1042930 • When using git flow it can be useful to do a • “git push -v —tags origin develop:develop master:master” see alias in gist named kosmos. • git lola (alias for git log —graph —decorate —pretty=online —abbrev-commit —all) see alias in gist named lola.
  • 18. WRAPPING UP • Git flow is extremely useful • Adds complexity but benefits are greater once you get used to the workflow • This handy cheat sheet can help you while you get the hang of it : http://danielkummer.github.io/git-flow-cheatsheet/
  • 19. Thank you Samúel Jón Gunnarsson @samueljon