SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
Git Flow
A simple, automated,
Continuous Delivery compliant
strategy for using Git
Analysis &
Metrics
Deploy
Functional
test
Document
Validate
Done done
Pipeline
Fail
Fail
Fail
Fail
Fail
RejectedRejected
Fail
Integration
Commit
“Build”
Fail
Toll-gate pass
CoDe Story-line
VCS Developer
I’m
done!
Work item
Continuous delivery
Pipeline
Automation
Platform
Done done
...nope!
The “branchy” approach
...to pretested integration
ClearCase UCM Plugin
www.josra.org
@nvie Git-flow
Project integration branch
The shared work context of the developers where integrations are done frequently.
Typically master but occasionally a maintenance branch.
Promotion branches (a.k.a big picture branches)
All the branches which are above and beyond the project integration branch.
Development branches (a.k.a small picture branches)
All the branches that produce contributions to the integration branches. These are
the branches where developers actually commit code.
Vocabulary
Maintenance branches
Seen from the perspective of the project integration branch it’s merely a
development branch - which someone just happened to allow a release from.
Maintenance branches are guarded by the same level of verifications as the
project integration branch.
Hot-fix branches
In Continuous Delivery a hot-fix in the meaning “a shorter and faster track to a
release than the regular path” is a contradiction in terms, they simply do not exist.
There is only one track to a release and that is a successful ride through the
pipeline. We will erase this term from our vocabulary.
Vocabulary
Principles Git-flow
1. The project integration branch is where developers continuously integrate (CI).
2. The project integration branch in Git is master.
3. All integrations onto an integration branch must pass an automated toll-gate.
4. Only trivial merges are allowed onto the integration branch.
5. Every successful integration onto master kicks off the pipeline.
6. The integration branch is always aiming for the next release, anything that shouldn’t go into the
next release are kept away from master on development branches until it’s due.
7. Any push to a centralized repository, that contains a commit on a development branch
matching the naming convention triggers an automated integration..
8. Some development branches may be tied to maintenance branches rather than master.
9. All integrations onto promotion branches are automated (“the definition of done”).
10. Any given promotion branch can only have one contributor - merges are guaranteed to be fast-
forward.
Git-flow
Stash
Compliancy
“Project Integration Branch” choose master
No Entry
“Development branch” aiming for “maintenance”
No such thing as a “Hotfix”
Yack! Sound like one thing
that shouldn’t be automated
“Development branch” aiming for master - This is your default!
“Maintenance branch”
CoDe:U
git-flow
CoDe:U
git-flow
Know your tools - practice your knife skills
Git branching Kung Fu
● A branch is a substitute name for a HEAD, that
dynamically changes as you add new commits
● Anything reachable from the branch - belongs to the
branch
● Using bisect, rev-list or show-branch as an
example:
○ merge ...plain vanilla doesn’t cut it
○ --no-ff ...doesn’t quite either
○ --squash ...is the solution
More details at www.josra.org/blog
References
● The Pretested Integration Plugin: wiki.jenkins-ci.
org/display/JENKINS/Pretested+Integration+Plugin
● The CoDe:U Git Flow paper:
www.praqma.com/git-flow
● Blog posts and Flow Cookbook on “Joint Open Source Roadmap Alliance”:
www.josra.org/blog
● The Roadmap for the Pretested Integration Plugin:
www.trello.com/josra
● Continuous Delivery Users on LinkedIn:
www.linkedin.com/groups/Continuous-Delivery-Users-4893734
● Praqma:
www.praqma.com
● Mail to Lars and Bue
lak@praqma.com bue@praqma.com

Contenu connexe

Tendances

Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature BranchingAlan Parkinson
 
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp).NET Crowd
 
Visual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewHimanshu Desai
 
SCM Process and smartBuild
SCM Process and smartBuildSCM Process and smartBuild
SCM Process and smartBuildRajesh Kumar
 
Continuous integration 101
Continuous integration 101Continuous integration 101
Continuous integration 101Gary Park
 
Branching and Merging and Bears, Oh My!
Branching and Merging and Bears, Oh My!Branching and Merging and Bears, Oh My!
Branching and Merging and Bears, Oh My!Imaginet
 
AgileMaturityIncludesContinuousIntegrationContinuousDeployment
AgileMaturityIncludesContinuousIntegrationContinuousDeployment AgileMaturityIncludesContinuousIntegrationContinuousDeployment
AgileMaturityIncludesContinuousIntegrationContinuousDeployment Jack Wendel
 
Automating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce AppsAutomating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce AppsLorenzo Frattini
 
Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrataapgionline
 
Kube applications in action
Kube applications in actionKube applications in action
Kube applications in actionKarthik Gaekwad
 
Batch Processing with Mule 4
Batch Processing with Mule 4Batch Processing with Mule 4
Batch Processing with Mule 4NeerajKumar1965
 
A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7Rawnet
 
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для MagentoИгорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magentomeet_magento
 
Introduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineIntroduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineDenis Voituron
 
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)Codit
 
Org-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVsOrg-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVsCodeScience
 

Tendances (20)

Why we used Feature Branching
Why we used Feature BranchingWhy we used Feature Branching
Why we used Feature Branching
 
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
Visual Studio Team Services Extensions by Taavi Kõosaar (@melborp)
 
Visual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services Overview
 
ContinuousIntegration
ContinuousIntegrationContinuousIntegration
ContinuousIntegration
 
Git code reviews
Git code reviewsGit code reviews
Git code reviews
 
SCM Process and smartBuild
SCM Process and smartBuildSCM Process and smartBuild
SCM Process and smartBuild
 
Continuous integration 101
Continuous integration 101Continuous integration 101
Continuous integration 101
 
DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services DevOps and Visual Studio Team Services
DevOps and Visual Studio Team Services
 
Branching and Merging and Bears, Oh My!
Branching and Merging and Bears, Oh My!Branching and Merging and Bears, Oh My!
Branching and Merging and Bears, Oh My!
 
Desert Code Camp Presentation
Desert Code Camp PresentationDesert Code Camp Presentation
Desert Code Camp Presentation
 
AgileMaturityIncludesContinuousIntegrationContinuousDeployment
AgileMaturityIncludesContinuousIntegrationContinuousDeployment AgileMaturityIncludesContinuousIntegrationContinuousDeployment
AgileMaturityIncludesContinuousIntegrationContinuousDeployment
 
Automating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce AppsAutomating Code Reviews for Salesforce Apps
Automating Code Reviews for Salesforce Apps
 
Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrata
 
Kube applications in action
Kube applications in actionKube applications in action
Kube applications in action
 
Batch Processing with Mule 4
Batch Processing with Mule 4Batch Processing with Mule 4
Batch Processing with Mule 4
 
A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7A review of Concrete 5 and what is new in version 5.7
A review of Concrete 5 and what is new in version 5.7
 
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для MagentoИгорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
Игорь Бондаренко (Neklo) - Организация процесса разработки модулей для Magento
 
Introduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) OnlineIntroduction to Team Foundation Server (TFS) Online
Introduction to Team Foundation Server (TFS) Online
 
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)BizTalk ALM (Toon Vanhoutte @ Integration Monday)
BizTalk ALM (Toon Vanhoutte @ Integration Monday)
 
Org-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVsOrg-dependent Unlocked Packages for ISVs
Org-dependent Unlocked Packages for ISVs
 

Similaire à CoDe:U git flow

Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)Yeasin Abedin
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version ControlNowell Strite
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | MindtreeAnikeyRoy
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing selfChen-Tien Tsai
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcityMd Jawed
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0Jasmine Conseil
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesAbhinav Gupta
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP WorkflowBurt Lum
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git BranchPhuoc Nguyen
 
Back to basic: continuous integration (Madrid DevOps)
Back to basic: continuous integration (Madrid DevOps)Back to basic: continuous integration (Madrid DevOps)
Back to basic: continuous integration (Madrid DevOps)Sergio Navarro Pino
 
Creative Branching Models for Multiple Release Streams
Creative Branching Models for Multiple Release StreamsCreative Branching Models for Multiple Release Streams
Creative Branching Models for Multiple Release StreamsAtlassian
 

Similaire à CoDe:U git flow (20)

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)
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version Control
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
 
Automated Build using teamcity
Automated Build using teamcityAutomated Build using teamcity
Automated Build using teamcity
 
Git branching model
Git branching modelGit branching model
Git branching model
 
Presentation 1 open source tools in continuous integration environment v1.0
Presentation 1   open source tools in continuous integration environment v1.0Presentation 1   open source tools in continuous integration environment v1.0
Presentation 1 open source tools in continuous integration environment v1.0
 
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket PipelinesSalesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
Salesforce CI (Continuous Integration) - SFDX + Bitbucket Pipelines
 
DevOps & DevEx
DevOps & DevExDevOps & DevEx
DevOps & DevEx
 
Gitflow Workflow
Gitflow WorkflowGitflow Workflow
Gitflow Workflow
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP Workflow
 
An intro to git
An intro to gitAn intro to git
An intro to git
 
Git
GitGit
Git
 
Git & Code review
Git & Code reviewGit & Code review
Git & Code review
 
Intro to Gitflow
Intro to GitflowIntro to Gitflow
Intro to Gitflow
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git Branch
 
Back to basic: continuous integration (Madrid DevOps)
Back to basic: continuous integration (Madrid DevOps)Back to basic: continuous integration (Madrid DevOps)
Back to basic: continuous integration (Madrid DevOps)
 
Creative Branching Models for Multiple Release Streams
Creative Branching Models for Multiple Release StreamsCreative Branching Models for Multiple Release Streams
Creative Branching Models for Multiple Release Streams
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 

Dernier (20)

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 

CoDe:U git flow

  • 1. Git Flow A simple, automated, Continuous Delivery compliant strategy for using Git
  • 3. CoDe Story-line VCS Developer I’m done! Work item Continuous delivery Pipeline Automation Platform Done done ...nope!
  • 4. The “branchy” approach ...to pretested integration
  • 7. Project integration branch The shared work context of the developers where integrations are done frequently. Typically master but occasionally a maintenance branch. Promotion branches (a.k.a big picture branches) All the branches which are above and beyond the project integration branch. Development branches (a.k.a small picture branches) All the branches that produce contributions to the integration branches. These are the branches where developers actually commit code. Vocabulary
  • 8. Maintenance branches Seen from the perspective of the project integration branch it’s merely a development branch - which someone just happened to allow a release from. Maintenance branches are guarded by the same level of verifications as the project integration branch. Hot-fix branches In Continuous Delivery a hot-fix in the meaning “a shorter and faster track to a release than the regular path” is a contradiction in terms, they simply do not exist. There is only one track to a release and that is a successful ride through the pipeline. We will erase this term from our vocabulary. Vocabulary
  • 9. Principles Git-flow 1. The project integration branch is where developers continuously integrate (CI). 2. The project integration branch in Git is master. 3. All integrations onto an integration branch must pass an automated toll-gate. 4. Only trivial merges are allowed onto the integration branch. 5. Every successful integration onto master kicks off the pipeline. 6. The integration branch is always aiming for the next release, anything that shouldn’t go into the next release are kept away from master on development branches until it’s due. 7. Any push to a centralized repository, that contains a commit on a development branch matching the naming convention triggers an automated integration.. 8. Some development branches may be tied to maintenance branches rather than master. 9. All integrations onto promotion branches are automated (“the definition of done”). 10. Any given promotion branch can only have one contributor - merges are guaranteed to be fast- forward.
  • 11. Stash Compliancy “Project Integration Branch” choose master No Entry “Development branch” aiming for “maintenance” No such thing as a “Hotfix” Yack! Sound like one thing that shouldn’t be automated “Development branch” aiming for master - This is your default! “Maintenance branch”
  • 14. Know your tools - practice your knife skills
  • 15. Git branching Kung Fu ● A branch is a substitute name for a HEAD, that dynamically changes as you add new commits ● Anything reachable from the branch - belongs to the branch ● Using bisect, rev-list or show-branch as an example: ○ merge ...plain vanilla doesn’t cut it ○ --no-ff ...doesn’t quite either ○ --squash ...is the solution More details at www.josra.org/blog
  • 16. References ● The Pretested Integration Plugin: wiki.jenkins-ci. org/display/JENKINS/Pretested+Integration+Plugin ● The CoDe:U Git Flow paper: www.praqma.com/git-flow ● Blog posts and Flow Cookbook on “Joint Open Source Roadmap Alliance”: www.josra.org/blog ● The Roadmap for the Pretested Integration Plugin: www.trello.com/josra ● Continuous Delivery Users on LinkedIn: www.linkedin.com/groups/Continuous-Delivery-Users-4893734 ● Praqma: www.praqma.com ● Mail to Lars and Bue lak@praqma.com bue@praqma.com