SlideShare a Scribd company logo
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
Ad

More Related Content

What's hot (20)

Defect Life Cycle
Defect Life CycleDefect Life Cycle
Defect Life Cycle
Shilpi Mitra
 
Stlc ppt
Stlc pptStlc ppt
Stlc ppt
Bhavik Modi
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
tharindakasun
 
CMS Testing Strategy & CQ5 CMS
CMS Testing Strategy & CQ5 CMSCMS Testing Strategy & CQ5 CMS
CMS Testing Strategy & CQ5 CMS
Rachana Khedekar
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
Steffen Gebert
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life CycleDefect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cycle
pavansmiles
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
Kumar Shìvam
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
Rana Muhammad Asif
 
Presentation on Agile Testing
Presentation on Agile TestingPresentation on Agile Testing
Presentation on Agile Testing
1Solutions Pvt. Ltd.
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
Jadson Santos
 
Manual testing ppt
Manual testing pptManual testing ppt
Manual testing ppt
Santosh Maranabasari
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Eliane Collins
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologies
Mesut Günes
 
QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)QA metrics in Agile (GUIDE)
QA metrics in Agile (GUIDE)
Vladimir Primakov (Volodymyr Prymakov)
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
Krunal Doshi
 
5 black box and grey box testing
5   black box and grey box testing5   black box and grey box testing
5 black box and grey box testing
Yisal Khan
 
Regression testing
Regression testingRegression testing
Regression testing
Anamta Sayyed
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
WSO2
 
Agile Testing Strategy
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
tharindakasun
 
CMS Testing Strategy & CQ5 CMS
CMS Testing Strategy & CQ5 CMSCMS Testing Strategy & CQ5 CMS
CMS Testing Strategy & CQ5 CMS
Rachana Khedekar
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 
Defect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life CycleDefect life cycle and Defect Status Life Cycle
Defect life cycle and Defect Status Life Cycle
pavansmiles
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
Kumar Shìvam
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Eliane Collins
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
Venkatesh Prasad Ranganath
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologies
Mesut Günes
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
Krunal Doshi
 
5 black box and grey box testing
5   black box and grey box testing5   black box and grey box testing
5 black box and grey box testing
Yisal Khan
 
12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter12 Steps to API Load Testing with Apache JMeter
12 Steps to API Load Testing with Apache JMeter
WSO2
 

Viewers also liked (14)

Facilitation les rituels agiles
Facilitation les rituels agilesFacilitation les rituels agiles
Facilitation les rituels agiles
Mathieu Gandin
 
Git Workflow Practice
Git Workflow PracticeGit Workflow Practice
Git Workflow Practice
Andy Wang
 
Git, an Illustrated Primer
Git, an Illustrated PrimerGit, an Illustrated Primer
Git, an Illustrated Primer
Daniel Cousineau
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
Gerald Villorente
 
Subversion
SubversionSubversion
Subversion
Tricode (part of Dept)
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikov
Inna Kravchenko
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
Edureka!
 
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 development
Zack 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 workflow
rogthefrog
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
xSawyer
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
Joerg Henning
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
ColCh
 
Facilitation les rituels agiles
Facilitation les rituels agilesFacilitation les rituels agiles
Facilitation les rituels agiles
Mathieu Gandin
 
Git Workflow Practice
Git Workflow PracticeGit Workflow Practice
Git Workflow Practice
Andy Wang
 
Git, an Illustrated Primer
Git, an Illustrated PrimerGit, an Illustrated Primer
Git, an Illustrated Primer
Daniel Cousineau
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikov
Inna Kravchenko
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
Edureka!
 
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 development
Zack 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 workflow
rogthefrog
 
Source Code Management systems
Source Code Management systemsSource Code Management systems
Source Code Management systems
xSawyer
 
CI with Gitlab & Docker
CI with Gitlab & DockerCI with Gitlab & Docker
CI with Gitlab & Docker
Joerg Henning
 
Using GitLab CI
Using GitLab CIUsing GitLab CI
Using GitLab CI
ColCh
 
Ad

Similar to Git flow workflow example (20)

How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
NYC DevShop
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
Syed Imam
 
Gitt and Git-flow
Gitt and Git-flowGitt and Git-flow
Gitt and Git-flow
Md. Masud
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
lenamattt
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with Git
Radu Barbu
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel development
shalom938
 
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
Martin Jinoch
 
Gitflow Workflow
Gitflow WorkflowGitflow Workflow
Gitflow Workflow
Hean Hong Leong
 
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
albusfons939393
 
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
Vivek Parihar
 
Introduction to Git (part 3)
Introduction to Git (part 3)Introduction to Git (part 3)
Introduction to Git (part 3)
Salvatore Cordiano
 
Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)
Yeasin Abedin
 
Subversion
SubversionSubversion
Subversion
Tomy Ismail
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
Dmitry Petrov
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
Glenn Roberts
 
Uber git workflow
Uber git workflowUber git workflow
Uber git workflow
Miroslav Genov
 
git Technologies
git Technologiesgit Technologies
git Technologies
Hirantha Pradeep
 
Git for developers
Git for developersGit for developers
Git for developers
Hacen Dadda
 
Git flow
Git flowGit flow
Git flow
Suraj Aair
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
Sebin Benjamin
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
NYC DevShop
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
Syed Imam
 
Gitt and Git-flow
Gitt and Git-flowGitt and Git-flow
Gitt and Git-flow
Md. Masud
 
Bitbucket git-bamboo-jira
Bitbucket git-bamboo-jiraBitbucket git-bamboo-jira
Bitbucket git-bamboo-jira
lenamattt
 
Source code management with Git
Source code management with GitSource code management with Git
Source code management with Git
Radu Barbu
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel development
shalom938
 
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
Martin 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.pdf
albusfons939393
 
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
Vivek 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 developers
Hacen Dadda
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
Sebin Benjamin
 
Ad

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

Arcís esri euc 2011
Arcís esri euc 2011Arcís esri euc 2011
Arcís esri euc 2011
Samúel Jón Gunnarsson
 
Landupplýsingagáttir og open source
Landupplýsingagáttir og open sourceLandupplýsingagáttir og open source
Landupplýsingagáttir og open source
Samúel Jón Gunnarsson
 
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
Samúel Jón Gunnarsson
 
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
Samúel Jón Gunnarsson
 
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
Samúel Jón Gunnarsson
 

Recently uploaded (20)

Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...Exploring Code Comprehension  in Scientific Programming:  Preliminary Insight...
Exploring Code Comprehension in Scientific Programming: Preliminary Insight...
University of Hawai‘i at Mānoa
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Proactive Vulnerability Detection in Source Code Using Graph Neural Networks:...
Ranjan Baisak
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Top 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docxTop 10 Client Portal Software Solutions for 2025.docx
Top 10 Client Portal Software Solutions for 2025.docx
Portli
 
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& ConsiderationsDesigning AI-Powered APIs on Azure: Best Practices& Considerations
Designing AI-Powered APIs on Azure: Best Practices& Considerations
Dinusha Kumarasiri
 

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