SlideShare a Scribd company logo
Let’s Git Together
GIT STRATEGIES FOR TEAMS
Me: Scott Coldwell
‣ DevOps
‣ Computer Know How
‣ Houston, TX
‣ @scottcoldwell
‣ CF dev since 2006
‣ Git since 2013
‣ 2nd ever tech presentation
‣ DO IT
‣ Track changes
‣ Backups
‣ Manage deployments
Source Control
‣ COMMUNICATION
‣ Standards
‣ Process
‣ Expectations
Source Control
‣ Branching!
‣ Forking!
‣ Pull requests!
‣ Distributedness!
‣ Conflicts!
‣ Other SC systems had (most of) these too!
The Blessings of Git
‣ Team makeup and competency
‣ Will you be the bottleneck?
‣ Who will approve code promotion?
‣ How much do you trust your developers?
Selection Criteria
‣ Business and/or Project process
‣ Ticketing system and workflow
‣ Environments - testing / staging / qa / ci / beta / etc
‣ Deployment process and schedule
‣ Automation (Continuous Integration/Delivery)
Selection Criteria
Branching Strategies
‣ Wing and a Prayer
‣ Long-Running Branches
‣ Git Flow
‣ Branch-per-Feature
Strategies
‣ Single Branch
‣ Commit when you want to
‣ Deploy with tags?
‣ Careful
‣ Unfinished code could creep in
‣ Unclear what’s in production
Wing and a Prayer
Wing and a Prayer
‣ One branch for development, one for production
‣ Cherry pick commits to deploy
‣ Tag production branch
‣ Cleaner history in Git than SVN
Long Running Branches
Long Running Branches
‣ Careful:
‣ Branches will diverge
‣ Not developing on production code
‣ Tedious to keep track of commits for a change
‣ Cumbersome to revert
Long Running Branches
‣ Long-running branches, but with merging
‣ Specific branches and rules around features,
hotfixes, bugs
‣ EVERYTHING in the develop branch WILL be
merged to master, once it is stable
‣ Pull requests are powerful
Git Flow
http://lanziani http://lanziani.com/slides/gitflow/images/
gitflow_1.png.com/slides/gitflow/images/gitflow_1.png
‣ Powerful for fast-moving teams
‣ Great separation between dev and prod
‣ Many toolsets available
‣ Much responsibility given to developers
Git Flow Pros
‣ Much responsibility given to developers
‣ Hard to pull stuff back
‣ Frustrating for project managers
‣ Limited number of environments
Git Flow Cons
‣ Master represents production
‣ Every feature and hotfix gets a branch
‣ Nothing is merged until prod deployment
‣ Utilize “throw away” branches for various
environments
‣ A build process reruns when branches are added/
removed
Branch per Feature
Branch per Feature
Branch per Feature
‣ Allows for limitless environments
‣ Restrict who can merge to master
‣ Granular control over code progression
‣ Easy to remove branches from an environment
‣ We can always deploy
BPF Pros
‣ Code conflicts can be tricky to track down
‣ Requires some automation
‣ Pull requests are used less frequently
‣ Training for team
BPF Cons
AUTOMATE
ALL THE
THINGS
‣ Team makeup and competency
‣ Will you be the bottleneck?
‣ Who will approve code promotion?
‣ How much do you trust your developers?
Selection Criteria
‣ Business and/or Project process
‣ Ticketing system and workflow
‣ Environments - testing / staging / qa / ci / beta / etc
‣ Deployment process and schedule
‣ Automation (Continuous Integration/Delivery)
Selection Criteria
‣ Git Flow
‣ http://nvie.com/posts/a-successful-git-branching-model/
‣ http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
‣ Branch per Feature
‣ https://www.acquia.com/blog/pragmatic-guide-branch-
feature-git-branching-strategy
‣ http://dymitruk.com/blog/2012/02/05/branch-per-feature/
Further Reading
Thank You
Ad

More Related Content

What's hot (20)

Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
icaraion
 
Lesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to GitLesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to Git
Noa Harel
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
Gaurav Wable
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
Noa Harel
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
Heather McNamee
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
Noa Harel
 
Intro to Git for Project Managers
Intro to Git for Project ManagersIntro to Git for Project Managers
Intro to Git for Project Managers
OyeLabs
 
Git Watch
Git WatchGit Watch
Git Watch
William Narmontas
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
JEMLI Fathi
 
Evolution of GitLab Frontend
Evolution of GitLab FrontendEvolution of GitLab Frontend
Evolution of GitLab Frontend
Fatih Acet
 
Bringing Pull Request to Gerrit
Bringing Pull Request to GerritBringing Pull Request to Gerrit
Bringing Pull Request to Gerrit
Eryk Szymanski
 
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
inovex GmbH
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik
 
TuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in TuleapTuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in Tuleap
Tuleap
 
Thomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLabThomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLab
Matan Keidar
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
JasleenSondhi
 
It's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolboxIt's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolbox
Stefan Lay
 
Building GitLab
Building GitLabBuilding GitLab
Building GitLab
🌍 Job van der Voort
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schools
Charles Fulton
 
Flex and .NET Integration
Flex and .NET IntegrationFlex and .NET Integration
Flex and .NET Integration
icaraion
 
Lesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to GitLesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to Git
Noa Harel
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
Noa Harel
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
Heather McNamee
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
Noa Harel
 
Intro to Git for Project Managers
Intro to Git for Project ManagersIntro to Git for Project Managers
Intro to Git for Project Managers
OyeLabs
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepoGit in the Enterprise: How to succeed at DevOps using Git and a monorepo
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
Evolution of GitLab Frontend
Evolution of GitLab FrontendEvolution of GitLab Frontend
Evolution of GitLab Frontend
Fatih Acet
 
Bringing Pull Request to Gerrit
Bringing Pull Request to GerritBringing Pull Request to Gerrit
Bringing Pull Request to Gerrit
Eryk Szymanski
 
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
inovex GmbH
 
Gitops: the kubernetes way
Gitops: the kubernetes wayGitops: the kubernetes way
Gitops: the kubernetes way
sparkfabrik
 
TuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in TuleapTuleapCon 2019. DevOps in Tuleap
TuleapCon 2019. DevOps in Tuleap
Tuleap
 
Thomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLabThomson Reuters, TMS: Workflow in GitLab
Thomson Reuters, TMS: Workflow in GitLab
Matan Keidar
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
JasleenSondhi
 
It's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolboxIt's all about feedback - code review as a great tool in the agile toolbox
It's all about feedback - code review as a great tool in the agile toolbox
Stefan Lay
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schools
Charles Fulton
 

Similar to Lets git together (20)

Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weaveworks
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
Chen-Tien Tsai
 
Next Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOpsNext Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOps
Ramadoni Ashudi
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
William Caban
 
Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
Vinothini KadambavanaSundaram
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
Kriangkrai Chaonithi
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdf
Weaveworks
 
Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010
Pursuit Consulting
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
AnikeyRoy
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Vietnam Open Infrastructure User Group
 
WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?
Weaveworks
 
WTF is GitOps & Why Should You Care?
WTF is GitOps & Why Should You Care?WTF is GitOps & Why Should You Care?
WTF is GitOps & Why Should You Care?
All Things Open
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Weaveworks
 
8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce
AutoRABIT
 
Make a better DevOps with GitOps
Make a better DevOps with GitOpsMake a better DevOps with GitOps
Make a better DevOps with GitOps
Opsta
 
Lambda Architectures in Practice
Lambda Architectures in PracticeLambda Architectures in Practice
Lambda Architectures in Practice
C4Media
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
ElasTest Project
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps
Weaveworks
 
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Understanding the GitOps Workflow and CICD Pipeline - What It Is, Why It Matt...
Gibran Badrulzaman
 
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weave GitOps 2022.09 Release: A Fast & Reliable Path to Production with Progr...
Weaveworks
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
Chen-Tien Tsai
 
Next Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOpsNext Level DevOps Implementation with GitOps
Next Level DevOps Implementation with GitOps
Ramadoni Ashudi
 
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
GitOps, Driving NGN Operations Teams 211127 #kcdgt 2021
William Caban
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
Kriangkrai Chaonithi
 
KubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdfKubeCon EU 2022 Istio, Flux & Flagger.pdf
KubeCon EU 2022 Istio, Flux & Flagger.pdf
Weaveworks
 
Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010Distributed Versioning Tools, BeJUG 2010
Distributed Versioning Tools, BeJUG 2010
Pursuit Consulting
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
AnikeyRoy
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Vietnam Open Infrastructure User Group
 
WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?WTF is GitOps and Why You Should Care?
WTF is GitOps and Why You Should Care?
Weaveworks
 
WTF is GitOps & Why Should You Care?
WTF is GitOps & Why Should You Care?WTF is GitOps & Why Should You Care?
WTF is GitOps & Why Should You Care?
All Things Open
 
Continuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event KeynoteContinuous Lifecycle London 2018 Event Keynote
Continuous Lifecycle London 2018 Event Keynote
Weaveworks
 
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOpsWebinar: End to End Security & Operations with Chainguard and Weave GitOps
Webinar: End to End Security & Operations with Chainguard and Weave GitOps
Weaveworks
 
8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce8 Essential DevOps Tools for Salesforce
8 Essential DevOps Tools for Salesforce
AutoRABIT
 
Make a better DevOps with GitOps
Make a better DevOps with GitOpsMake a better DevOps with GitOps
Make a better DevOps with GitOps
Opsta
 
Lambda Architectures in Practice
Lambda Architectures in PracticeLambda Architectures in Practice
Lambda Architectures in Practice
C4Media
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
ElasTest Project
 
Cloud Native Apps with GitOps
Cloud Native Apps with GitOps Cloud Native Apps with GitOps
Cloud Native Apps with GitOps
Weaveworks
 
Ad

More from devObjective (20)

Raspberry Pi a la CFML
Raspberry Pi a la CFMLRaspberry Pi a la CFML
Raspberry Pi a la CFML
devObjective
 
Command box
Command boxCommand box
Command box
devObjective
 
Effective version control
Effective version controlEffective version control
Effective version control
devObjective
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
devObjective
 
Using type script to build better apps
Using type script to build better appsUsing type script to build better apps
Using type script to build better apps
devObjective
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
devObjective
 
Who owns Software Security
Who owns Software SecurityWho owns Software Security
Who owns Software Security
devObjective
 
Naked and afraid Offline mobile
Naked and afraid Offline mobileNaked and afraid Offline mobile
Naked and afraid Offline mobile
devObjective
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
devObjective
 
Node without servers aws-lambda
Node without servers aws-lambdaNode without servers aws-lambda
Node without servers aws-lambda
devObjective
 
I am-designer
I am-designerI am-designer
I am-designer
devObjective
 
Garbage First and You!
Garbage First and You!Garbage First and You!
Garbage First and You!
devObjective
 
Fusion Reactor
Fusion ReactorFusion Reactor
Fusion Reactor
devObjective
 
Paying off emotional debt
Paying off emotional debtPaying off emotional debt
Paying off emotional debt
devObjective
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
devObjective
 
Authentication Control
Authentication ControlAuthentication Control
Authentication Control
devObjective
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mq
devObjective
 
Preso slidedeck
Preso slidedeckPreso slidedeck
Preso slidedeck
devObjective
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
devObjective
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
devObjective
 
Raspberry Pi a la CFML
Raspberry Pi a la CFMLRaspberry Pi a la CFML
Raspberry Pi a la CFML
devObjective
 
Effective version control
Effective version controlEffective version control
Effective version control
devObjective
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
devObjective
 
Using type script to build better apps
Using type script to build better appsUsing type script to build better apps
Using type script to build better apps
devObjective
 
Csp and http headers
Csp and http headersCsp and http headers
Csp and http headers
devObjective
 
Who owns Software Security
Who owns Software SecurityWho owns Software Security
Who owns Software Security
devObjective
 
Naked and afraid Offline mobile
Naked and afraid Offline mobileNaked and afraid Offline mobile
Naked and afraid Offline mobile
devObjective
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
devObjective
 
Node without servers aws-lambda
Node without servers aws-lambdaNode without servers aws-lambda
Node without servers aws-lambda
devObjective
 
Garbage First and You!
Garbage First and You!Garbage First and You!
Garbage First and You!
devObjective
 
Paying off emotional debt
Paying off emotional debtPaying off emotional debt
Paying off emotional debt
devObjective
 
My SQL Skills Killed the Server
My SQL Skills Killed the ServerMy SQL Skills Killed the Server
My SQL Skills Killed the Server
devObjective
 
Authentication Control
Authentication ControlAuthentication Control
Authentication Control
devObjective
 
Multiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mqMultiply like rabbits with rabbit mq
Multiply like rabbits with rabbit mq
devObjective
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
devObjective
 
Rethink Async with RXJS
Rethink Async with RXJSRethink Async with RXJS
Rethink Async with RXJS
devObjective
 
Ad

Recently uploaded (20)

Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdfSAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
SAP Modernization: Maximizing the Value of Your SAP S/4HANA Migration.pdf
Precisely
 
tecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdftecnologias de las primeras civilizaciones.pdf
tecnologias de las primeras civilizaciones.pdf
fjgm517
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Role of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered ManufacturingRole of Data Annotation Services in AI-Powered Manufacturing
Role of Data Annotation Services in AI-Powered Manufacturing
Andrew Leo
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025
BookNet Canada
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 

Lets git together

  • 1. Let’s Git Together GIT STRATEGIES FOR TEAMS
  • 2. Me: Scott Coldwell ‣ DevOps ‣ Computer Know How ‣ Houston, TX ‣ @scottcoldwell ‣ CF dev since 2006 ‣ Git since 2013 ‣ 2nd ever tech presentation
  • 3. ‣ DO IT ‣ Track changes ‣ Backups ‣ Manage deployments Source Control
  • 4. ‣ COMMUNICATION ‣ Standards ‣ Process ‣ Expectations Source Control
  • 5. ‣ Branching! ‣ Forking! ‣ Pull requests! ‣ Distributedness! ‣ Conflicts! ‣ Other SC systems had (most of) these too! The Blessings of Git
  • 6. ‣ Team makeup and competency ‣ Will you be the bottleneck? ‣ Who will approve code promotion? ‣ How much do you trust your developers? Selection Criteria
  • 7. ‣ Business and/or Project process ‣ Ticketing system and workflow ‣ Environments - testing / staging / qa / ci / beta / etc ‣ Deployment process and schedule ‣ Automation (Continuous Integration/Delivery) Selection Criteria
  • 9. ‣ Wing and a Prayer ‣ Long-Running Branches ‣ Git Flow ‣ Branch-per-Feature Strategies
  • 10. ‣ Single Branch ‣ Commit when you want to ‣ Deploy with tags? ‣ Careful ‣ Unfinished code could creep in ‣ Unclear what’s in production Wing and a Prayer
  • 11. Wing and a Prayer
  • 12. ‣ One branch for development, one for production ‣ Cherry pick commits to deploy ‣ Tag production branch ‣ Cleaner history in Git than SVN Long Running Branches
  • 14. ‣ Careful: ‣ Branches will diverge ‣ Not developing on production code ‣ Tedious to keep track of commits for a change ‣ Cumbersome to revert Long Running Branches
  • 15. ‣ Long-running branches, but with merging ‣ Specific branches and rules around features, hotfixes, bugs ‣ EVERYTHING in the develop branch WILL be merged to master, once it is stable ‣ Pull requests are powerful Git Flow
  • 17. ‣ Powerful for fast-moving teams ‣ Great separation between dev and prod ‣ Many toolsets available ‣ Much responsibility given to developers Git Flow Pros
  • 18. ‣ Much responsibility given to developers ‣ Hard to pull stuff back ‣ Frustrating for project managers ‣ Limited number of environments Git Flow Cons
  • 19. ‣ Master represents production ‣ Every feature and hotfix gets a branch ‣ Nothing is merged until prod deployment ‣ Utilize “throw away” branches for various environments ‣ A build process reruns when branches are added/ removed Branch per Feature
  • 22. ‣ Allows for limitless environments ‣ Restrict who can merge to master ‣ Granular control over code progression ‣ Easy to remove branches from an environment ‣ We can always deploy BPF Pros
  • 23. ‣ Code conflicts can be tricky to track down ‣ Requires some automation ‣ Pull requests are used less frequently ‣ Training for team BPF Cons
  • 25. ‣ Team makeup and competency ‣ Will you be the bottleneck? ‣ Who will approve code promotion? ‣ How much do you trust your developers? Selection Criteria
  • 26. ‣ Business and/or Project process ‣ Ticketing system and workflow ‣ Environments - testing / staging / qa / ci / beta / etc ‣ Deployment process and schedule ‣ Automation (Continuous Integration/Delivery) Selection Criteria
  • 27. ‣ Git Flow ‣ http://nvie.com/posts/a-successful-git-branching-model/ ‣ http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/ ‣ Branch per Feature ‣ https://www.acquia.com/blog/pragmatic-guide-branch- feature-git-branching-strategy ‣ http://dymitruk.com/blog/2012/02/05/branch-per-feature/ Further Reading