SlideShare a Scribd company logo
Presented By: Mansi Babbar
Introduction to
Git Flow
Lack of etiquette and manners is a huge turn off.
KnolX Etiquettes
Punctuality
Respect Knolx session timings, you
are requested not to join sessions
after a 5 minutes threshold post
the session start time.
Feedback
Make sure to submit a constructive
feedback for all sessions as it is
very helpful for the presenter.
Mute
Please keep your window on mute
Avoid Disturbance
Avoid leaving your window
unmuted after asking a question
Agenda
01 Introduction
02 How Git Flow Works?
04 Release Branch
05 Hotfix Branch
06 Summary
05 Demo
07
7
Feature Branch
03
Introduction
Introduction
● Git Flow is Git workflow design
● Defines a strict branching model designed around the project release
● This provides a robust framework for managing larger projects
● Suited for projects having scheduled release cycle and continuous delivery
● Assigns specific roles to different branches
● Defines how and when the branches should inteact
Introduction
● Command line tool with an installation process
● Git Flow is a wrapper around Git
● After installing git-flow you can use it in your project by executing git flow init
● git flow init is extension of default command git init
How it Works?
Develop & Master
Branches
Develop and Master Branches
Based on two main branches with infinite lifetime:
○ master — this branch contains production code. Stores official release
history
○ develop — this branch contains pre-production code. Serves as an
integration branch for features
○ It is also convenient to tag all commits in the master branch with a
version number
Develop and Master Branches
Develop and Master Branches
Develop and Master Branches
Feature Branch
Feature Branch
● Each new feature should reside in its own branch
● Feature branches use develop as their parent branch
● When a feature is complete, it gets merged back into develop
● Features should never interact directly with master
Feature Branch
Creating a Feature Branch
● Without git-flow extensions:
○ git checkout develop
○ git checkout -b feature_branch
● With git-flow extension:
○ git flow feature start feature_branch
Finishing a Feature Branch
● Without git-flow extensions:
○ git checkout develop
○ git merge feature_branch
● With git-flow extensions:
○ git flow feature finish feature_branch
Release Branch
Release Branch
● Once develop has acquired enough features for a release, fork a
release branch off of develop
● Creating this branch starts the next release cycle, so no new
features can be added after this point
● Allow many minor bug to be fixed and preparation of meta-data
for a release
● Must merge into master and develop
Release Branch
Creating a Release Branch
● Without the git-flow extensions:
○ git checkout develop
○ git checkout -b release/0.1.0
● When using the git-flow extensions:
○ $ git flow release start 0.1.0
○ Switched to a new branch 'release/0.1.0'
Finishing a Release Branch
● Without git-flow extensions:
○ git checkout master
○ git merge release/0.1.0
● With git-flow extension:
○ git flow release finish 0.1.0
Hotfix Branch
Hotfix Branch
● Used to quickly patch production releases
● Created to act immediately upon an undesired status of master
● Based on master instead of develop
● Only branch that should fork directly off of master
● As soon as the fix is complete, it should be merged into both
master and develop
Hotfix Branch
Creating a Hotfix Branch
● Without git-flow extensions:
○ git checkout master
○ git checkout -b hotfix_branch
● With git-flow extensions:
○ $ git flow hotfix start hotfix_branch
Finishing a Hotfix Branch
● Without git-flow extensions:
○ git checkout master
○ git merge hotfix_branch
○ git checkout develop
○ git merge hotfix_branch
● With git-flow extension:
○ git branch -D hotfix_branch
○ $ git flow hotfix finish hotfix_branch
Demo
Summary
Summary
Gitflow is one of many styles of Git workflows you and your team
can utilize.
Some key takeaways to know about Gitflow are:
● The workflow is great for a release-based software workflow.
● Gitflow offers a dedicated channel for hotfixes to production.
Advantages
● Ensures a clean state of branches at any given moment in the life cycle of
project
● The branches naming follows a systematic pattern making it easier to
comprehend
● It has extensions and support on most used git tools
● It is ideal when there it needs to be multiple version in production
Disadvantages
● The Git history becomes unreadable
● The master/develop split is considered redundant
● It isn’t recommended when it need to maintain single version in production
Overall Flow of Git Flow
● A develop branch is created from master
● Feature branches are created from develop
● When a feature is complete it is merged into the develop branch
● A release branch is created from develop
● When the release branch is done it is merged into develop and master
● If an issue in master is detected a hotfix branch is created from master
● Once the hotfix is complete it is merged to both develop and master
Thank You !

More Related Content

What's hot

What's hot (20)

Git for beginners
Git for beginnersGit for beginners
Git for beginners
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Learning git
Learning gitLearning git
Learning git
 
Git training v10
Git training v10Git training v10
Git training v10
 
Git basic
Git basicGit basic
Git basic
 
Git and GitFlow branching model
Git and GitFlow branching modelGit and GitFlow branching model
Git and GitFlow branching model
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow solo
 
Git - An Introduction
Git - An IntroductionGit - An Introduction
Git - An Introduction
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
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
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git and github
Git and githubGit and github
Git and github
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Git basics
Git basicsGit basics
Git basics
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 

Similar to Introduction to git flow

Git workflows
Git workflowsGit workflows
Git workflows
Xpand IT
 
Git Branching and Merging.pptx
Git Branching and Merging.pptxGit Branching and Merging.pptx
Git Branching and Merging.pptx
tapanvyas11
 

Similar to Introduction to git flow (20)

git-flow R3Labs
git-flow R3Labsgit-flow R3Labs
git-flow R3Labs
 
git Technologies
git Technologiesgit Technologies
git Technologies
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Git strategies for DevOps
Git strategies for DevOpsGit strategies for DevOps
Git strategies for DevOps
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Managing releases effectively through git
Managing releases effectively through gitManaging releases effectively through git
Managing releases effectively through git
 
Lets git to it
Lets git to itLets git to it
Lets git to it
 
Github
GithubGithub
Github
 
Git and GitHub workflows
Git and GitHub workflowsGit and GitHub workflows
Git and GitHub workflows
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
CI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelinesCI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelines
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.io
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 
Git Branching and Merging.pptx
Git Branching and Merging.pptxGit Branching and Merging.pptx
Git Branching and Merging.pptx
 
Using Git with WordPress - Presented by Nigel Rodgers.
Using Git with WordPress - Presented by Nigel Rodgers.Using Git with WordPress - Presented by Nigel Rodgers.
Using Git with WordPress - Presented by Nigel Rodgers.
 
Git introduction for Beginners
Git introduction for BeginnersGit introduction for Beginners
Git introduction for Beginners
 
SFSCON23 - Yuri D'Elia - Automating git for development on large distributed ...
SFSCON23 - Yuri D'Elia - Automating git for development on large distributed ...SFSCON23 - Yuri D'Elia - Automating git for development on large distributed ...
SFSCON23 - Yuri D'Elia - Automating git for development on large distributed ...
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
An intro to git
An intro to gitAn intro to git
An intro to git
 
Git tips
Git tipsGit tips
Git tips
 

More from Knoldus Inc.

More from Knoldus Inc. (20)

Using InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in JmeterUsing InfluxDB for real-time monitoring in Jmeter
Using InfluxDB for real-time monitoring in Jmeter
 
Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)Intoduction to KubeVela Presentation (DevOps)
Intoduction to KubeVela Presentation (DevOps)
 
Stakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) PresentationStakeholder Management (Project Management) Presentation
Stakeholder Management (Project Management) Presentation
 
Introduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) PresentationIntroduction To Kaniko (DevOps) Presentation
Introduction To Kaniko (DevOps) Presentation
 
Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)Efficient Test Environments with Infrastructure as Code (IaC)
Efficient Test Environments with Infrastructure as Code (IaC)
 
Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)Exploring Terramate DevOps (Presentation)
Exploring Terramate DevOps (Presentation)
 
Clean Code in Test Automation Differentiating Between the Good and the Bad
Clean Code in Test Automation  Differentiating Between the Good and the BadClean Code in Test Automation  Differentiating Between the Good and the Bad
Clean Code in Test Automation Differentiating Between the Good and the Bad
 
Integrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test AutomationIntegrating AI Capabilities in Test Automation
Integrating AI Capabilities in Test Automation
 
State Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptxState Management with NGXS in Angular.pptx
State Management with NGXS in Angular.pptx
 
Authentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptxAuthentication in Svelte using cookies.pptx
Authentication in Svelte using cookies.pptx
 
OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)OAuth2 Implementation Presentation (Java)
OAuth2 Implementation Presentation (Java)
 
Supply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptxSupply chain security with Kubeclarity.pptx
Supply chain security with Kubeclarity.pptx
 
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML ParsingMastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
Mastering Web Scraping with JSoup Unlocking the Secrets of HTML Parsing
 
Akka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On IntroductionAkka gRPC Essentials A Hands-On Introduction
Akka gRPC Essentials A Hands-On Introduction
 
Entity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptxEntity Core with Core Microservices.pptx
Entity Core with Core Microservices.pptx
 
Introduction to Redis and its features.pptx
Introduction to Redis and its features.pptxIntroduction to Redis and its features.pptx
Introduction to Redis and its features.pptx
 
GraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdfGraphQL with .NET Core Microservices.pdf
GraphQL with .NET Core Microservices.pdf
 
NuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptxNuGet Packages Presentation (DoT NeT).pptx
NuGet Packages Presentation (DoT NeT).pptx
 
Data Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable TestingData Quality in Test Automation Navigating the Path to Reliable Testing
Data Quality in Test Automation Navigating the Path to Reliable Testing
 
K8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose KubernetesK8sGPTThe AI​ way to diagnose Kubernetes
K8sGPTThe AI​ way to diagnose Kubernetes
 

Recently uploaded

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Peter Udo Diehl
 

Recently uploaded (20)

Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi"Impact of front-end architecture on development cost", Viktor Turskyi
"Impact of front-end architecture on development cost", Viktor Turskyi
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 

Introduction to git flow

  • 1. Presented By: Mansi Babbar Introduction to Git Flow
  • 2. Lack of etiquette and manners is a huge turn off. KnolX Etiquettes Punctuality Respect Knolx session timings, you are requested not to join sessions after a 5 minutes threshold post the session start time. Feedback Make sure to submit a constructive feedback for all sessions as it is very helpful for the presenter. Mute Please keep your window on mute Avoid Disturbance Avoid leaving your window unmuted after asking a question
  • 3. Agenda 01 Introduction 02 How Git Flow Works? 04 Release Branch 05 Hotfix Branch 06 Summary 05 Demo 07 7 Feature Branch 03
  • 5. Introduction ● Git Flow is Git workflow design ● Defines a strict branching model designed around the project release ● This provides a robust framework for managing larger projects ● Suited for projects having scheduled release cycle and continuous delivery ● Assigns specific roles to different branches ● Defines how and when the branches should inteact
  • 6. Introduction ● Command line tool with an installation process ● Git Flow is a wrapper around Git ● After installing git-flow you can use it in your project by executing git flow init ● git flow init is extension of default command git init
  • 9. Develop and Master Branches Based on two main branches with infinite lifetime: ○ master — this branch contains production code. Stores official release history ○ develop — this branch contains pre-production code. Serves as an integration branch for features ○ It is also convenient to tag all commits in the master branch with a version number
  • 10. Develop and Master Branches
  • 11. Develop and Master Branches
  • 12. Develop and Master Branches
  • 14. Feature Branch ● Each new feature should reside in its own branch ● Feature branches use develop as their parent branch ● When a feature is complete, it gets merged back into develop ● Features should never interact directly with master
  • 16. Creating a Feature Branch ● Without git-flow extensions: ○ git checkout develop ○ git checkout -b feature_branch ● With git-flow extension: ○ git flow feature start feature_branch
  • 17. Finishing a Feature Branch ● Without git-flow extensions: ○ git checkout develop ○ git merge feature_branch ● With git-flow extensions: ○ git flow feature finish feature_branch
  • 19. Release Branch ● Once develop has acquired enough features for a release, fork a release branch off of develop ● Creating this branch starts the next release cycle, so no new features can be added after this point ● Allow many minor bug to be fixed and preparation of meta-data for a release ● Must merge into master and develop
  • 21. Creating a Release Branch ● Without the git-flow extensions: ○ git checkout develop ○ git checkout -b release/0.1.0 ● When using the git-flow extensions: ○ $ git flow release start 0.1.0 ○ Switched to a new branch 'release/0.1.0'
  • 22. Finishing a Release Branch ● Without git-flow extensions: ○ git checkout master ○ git merge release/0.1.0 ● With git-flow extension: ○ git flow release finish 0.1.0
  • 24. Hotfix Branch ● Used to quickly patch production releases ● Created to act immediately upon an undesired status of master ● Based on master instead of develop ● Only branch that should fork directly off of master ● As soon as the fix is complete, it should be merged into both master and develop
  • 26. Creating a Hotfix Branch ● Without git-flow extensions: ○ git checkout master ○ git checkout -b hotfix_branch ● With git-flow extensions: ○ $ git flow hotfix start hotfix_branch
  • 27. Finishing a Hotfix Branch ● Without git-flow extensions: ○ git checkout master ○ git merge hotfix_branch ○ git checkout develop ○ git merge hotfix_branch ● With git-flow extension: ○ git branch -D hotfix_branch ○ $ git flow hotfix finish hotfix_branch
  • 28. Demo
  • 30. Summary Gitflow is one of many styles of Git workflows you and your team can utilize. Some key takeaways to know about Gitflow are: ● The workflow is great for a release-based software workflow. ● Gitflow offers a dedicated channel for hotfixes to production.
  • 31. Advantages ● Ensures a clean state of branches at any given moment in the life cycle of project ● The branches naming follows a systematic pattern making it easier to comprehend ● It has extensions and support on most used git tools ● It is ideal when there it needs to be multiple version in production
  • 32. Disadvantages ● The Git history becomes unreadable ● The master/develop split is considered redundant ● It isn’t recommended when it need to maintain single version in production
  • 33. Overall Flow of Git Flow ● A develop branch is created from master ● Feature branches are created from develop ● When a feature is complete it is merged into the develop branch ● A release branch is created from develop ● When the release branch is done it is merged into develop and master ● If an issue in master is detected a hotfix branch is created from master ● Once the hotfix is complete it is merged to both develop and master