SlideShare a Scribd company logo
1 of 35
Git Workflows
Agenda
1 Compare workflows
2 Git Workflows - branding model
3 Special cases - how to resolve
Workflows
Compare and review
Centralized Workflow (1)
Centralized Workflow (1)
Master
Centralized Workflow (2)
Server
Master
Dev A
Master
Dev B
Master
Centralized Workflow (3)
Master
Master
Master
Centralized Workflow (3)
Master
Master
Centralized Workflow (4)
Advantages
. Simple with 1 dev
. Take less effort
Disadvantages
. Complex with > 2 devs
. A unstable commits will
affect other devs
Feature Branch Workflow (1)
Feature Branch Workflow (2)
Server
Master
Dev A
Master
Fix bug
Dev B
Master
Web Gui
Feature Branch Workflow (3)
Master
Fix bug
Master
Fix bug
Web Gui
Master
Fix bug
Web Gui
Feature Branch Workflow (4)
Master
Fix bug
Web Gui
Master
Web Gui
Master
Disadvantages
. Not manage releasing flow
yet
. Not support hotfix flow yet
. Master still unstable for
production
Feature Branch Workflow (4)
Advantages
. Devs work together without
merging frequently
. Features don’t affect
together
Git Workflows
Branding model
Vincent Driessen
. January 05, 2010
. A post
. Standard for most
git projects
Two main branches
. master and develop
. infinite lifetime
Branch master
. Production release
. Stable
. Never implement new
features in master branch
. Used for automation build
production package
Branch develop
. Branch from master when init
. Features are ready
. Stable for integration test
. Used for build staging or
nightly build
. Should not commit on
develop directly
Master and develop
. When develop is enough
stable for release:
-> Merge develop into master
. Feature branches
. Release branches
. Hotfix branches
. Have a limited life time
Supporting branches
Feature branches
. 1 feature - 1 branch
. Branch from develop
. Merge into develop
. Only merge to develop when
feature is done
. Delete when it was done
Feature branches
. Creating a feature branch
Feature branches
. Done feature and merge to
develop
Merge with --no-ff
Release branches
Release branches
. A preparation for of a
new production release.
. Branch from develop
. Merge into develop and
master
. Delete when it’s done
Release branches
. Create release
Release branches
. Finish release branch
Hotfix branches
. Use to fix issue in
production
. Branch from master
. Merge into develop and
master
. Delete when it’s done
Hotfix branches
. Create hotfix branch
Hotfix branches
. Finish hotfix branch
Summary
. Two main branches: master, develop
. Three supporting branches: feature,
release, hotfix
Fullflow:
http://nvie.com/files/Git-branching-
model.pdf
Special cases
Experience when applying
Exception cases
1 Commit in master…
2 Feature branch A needs commits
from develop
3 Feature branch A needs commits
from feature branch B
4 Multiple environment: production,
staging, testing, xxx

More Related Content

What's hot

What's hot (20)

Git collaboration
Git collaborationGit collaboration
Git collaboration
 
Pull Request (PR): A git workflow
Pull Request (PR): A git workflow Pull Request (PR): A git workflow
Pull Request (PR): A git workflow
 
Git branch management
Git branch managementGit branch management
Git branch management
 
Gitflow Workflow
Gitflow WorkflowGitflow Workflow
Gitflow Workflow
 
Git in Continuous Deployment
Git in Continuous DeploymentGit in Continuous Deployment
Git in Continuous Deployment
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git Branch
 
git flow
git flowgit flow
git flow
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Git workflow in agile development
Git workflow in agile developmentGit workflow in agile development
Git workflow in agile development
 
Branching Strategies For Git and Subversion
Branching Strategies For Git and SubversionBranching Strategies For Git and Subversion
Branching Strategies For Git and Subversion
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
 
Understanding Diffs in Git
Understanding Diffs in GitUnderstanding Diffs in Git
Understanding Diffs in Git
 
Trunk-Based Development
Trunk-Based DevelopmentTrunk-Based Development
Trunk-Based Development
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)
 
Git branching model
Git branching modelGit branching model
Git branching model
 
An intro to git
An intro to gitAn intro to git
An intro to git
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bamboo
 
Clarive 7 Branching Model
Clarive 7 Branching ModelClarive 7 Branching Model
Clarive 7 Branching Model
 

Viewers also liked

Git flow概要紹介
Git flow概要紹介Git flow概要紹介
Git flow概要紹介
y42sora
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
Mediacurrent
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
YUKI Kaoru
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
add20
 
USJBF Overview Presentation
USJBF Overview PresentationUSJBF Overview Presentation
USJBF Overview Presentation
kdieckgraeff
 

Viewers also liked (19)

Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Enterprise Git
Enterprise GitEnterprise Git
Enterprise Git
 
Git flow Introduction
Git flow IntroductionGit flow Introduction
Git flow Introduction
 
git flowを使った開発フロー
git flowを使った開発フローgit flowを使った開発フロー
git flowを使った開発フロー
 
Git flow概要紹介
Git flow概要紹介Git flow概要紹介
Git flow概要紹介
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
 
Git flowについてまとめてみた
Git flowについてまとめてみたGit flowについてまとめてみた
Git flowについてまとめてみた
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
バージョン管理のワークフロー
バージョン管理のワークフローバージョン管理のワークフロー
バージョン管理のワークフロー
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 
Mgidigitalglobalization
MgidigitalglobalizationMgidigitalglobalization
Mgidigitalglobalization
 
онлайн бронирование модуль для турагенств
онлайн бронирование модуль для турагенствонлайн бронирование модуль для турагенств
онлайн бронирование модуль для турагенств
 
MongoDB at Flight Centre Ltd
MongoDB at Flight Centre LtdMongoDB at Flight Centre Ltd
MongoDB at Flight Centre Ltd
 
USJBF Overview Presentation
USJBF Overview PresentationUSJBF Overview Presentation
USJBF Overview Presentation
 
Revving Up Revenue By Replenishing
Revving Up Revenue By ReplenishingRevving Up Revenue By Replenishing
Revving Up Revenue By Replenishing
 
R Statistics With MongoDB
R Statistics With MongoDBR Statistics With MongoDB
R Statistics With MongoDB
 

Similar to Git workflows

Checkitmobile - using Git for development
Checkitmobile - using Git for developmentCheckitmobile - using Git for development
Checkitmobile - using Git for development
Gerrit Wanderer
 

Similar to Git workflows (20)

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
 
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
 
Gitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for GitGitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for Git
 
Gitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for GitGitflow - Branching and Merging Flow for Git
Gitflow - Branching and Merging Flow for Git
 
Managing releases effectively through git
Managing releases effectively through gitManaging releases effectively through git
Managing releases effectively through git
 
Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)
 
Git development workflow
Git development workflowGit development workflow
Git development workflow
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
 
Introduction to Git (part 3)
Introduction to Git (part 3)Introduction to Git (part 3)
Introduction to Git (part 3)
 
Alm tce parallel development
Alm tce parallel developmentAlm tce parallel development
Alm tce parallel development
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis Patriotis
 
Git flow workflow example
Git flow workflow exampleGit flow workflow example
Git flow workflow example
 
Intro to Gitflow
Intro to GitflowIntro to Gitflow
Intro to Gitflow
 
Source control - what you need to know
Source control - what you need to knowSource control - what you need to know
Source control - what you need to know
 
Checkitmobile - using Git for development
Checkitmobile - using Git for developmentCheckitmobile - using Git for development
Checkitmobile - using Git for development
 
Branching Over The Top!
Branching Over The Top!Branching Over The Top!
Branching Over The Top!
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
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
 
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
Git workflows á la-carte, Presenation at jdays2013 www.jdays.se by Nicola Pao...
 
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTreeManaging software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
 

Recently uploaded

AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 

Recently uploaded (20)

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...Booking open Available Pune Call Girls Pargaon  6297143586 Call Hot Indian Gi...
Booking open Available Pune Call Girls Pargaon 6297143586 Call Hot Indian Gi...
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 

Git workflows

Editor's Notes

  1. SVN
  2. SVN