SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Why I Use Textmate...
           Glenn Roberts
             @glennrob
     glenn.roberts@siyelo.com
...To Squash Commits...
           Glenn Roberts
             @glennrob
     glenn.roberts@siyelo.com
...During an Interactive
        Rebase...
            Glenn Roberts
              @glennrob
      glenn.roberts@siyelo.com
...In My Uber Git
    Workflow...
        Glenn Roberts
          @glennrob
  glenn.roberts@siyelo.com
...Which Uses
Branching & Merging...
           Glenn Roberts
             @glennrob
     glenn.roberts@siyelo.com
... Like a Boss.
       Glenn Roberts
         @glennrob
 glenn.roberts@siyelo.com
Sorry Farrel, already used up all my
slide quota
• Why your git workflow is important
• How we do it @ Siyelo
• Random slides to fill the last 4
 minutes of a 5 minute talk.
Source control basics. Nailed it.
•   feature branches
•   commit early, often
•   interactive rebase, squash
•   ship that mother.
•   old branch labels
•   partial/no squashing (OK)
•   nasty git log
•   whats in a feature?
•   whats in a feature-set?
Evolve your team workflow.
The Nvie.com model:
1. The Major Branches




                         Text




           Author: Vincent Driessen
           Original blog post: http://nvie.com/archives/323
           License: Creative Commons
w/ 3 types of supporting branches...
2. Feature Branches




              Text
1a) Merge like a Boss with --no-ff




                          Text




            Author: Vincent Driessen
            Original blog post: http://nvie.com/archives/323
            License: Creative Commons
1b) Always merge with intent
 --no-ff on the ‘major’ branches

[branch "dev"]
  mergeoptions = --no-ff --no-commit
[branch "master"]
  mergeoptions = --no-ff --no-commit
• Stop pulling, please...
Every merge is sacred
   fetch and rebase instead
1c) Nice merge commit changelog

# ~/.gitconfig
[merge]
  summary = true



    Merge branch 'v0.9.5'

    * v0.9.5: (25 commits)
      refactor ambiguous budget? & spend? methods
      fix failing specs
2. Release Branches
                         dev           release branches                      master


                                                                                      Start of release
                                                                                        branch for
                                                                                            1.0


 From this point on,
“next release” means
                                                                                         Only bug xes!
 the release after 1.0




                                                                                              Tag
                                                                                              1.0

                                    Bug xes merged
                                     back into dev


                          Author: Vincent Driessen
                          Original blog post: http://nvie.com/archives/323
                          License: Creative Commons
3. Hotfix Branches




           Author: Vincent Driessen
           Original blog post: http://nvie.com/archives/323
           License: Creative Commons
• [dev] branch
 • keep stable
 • rebase feature branches
 • avoid pulling
• use merge commits (--no-ff )
• use release & hotfix branches
• [master] commit == a release.
... we dont need your witchcraft!
j/k. Git Flow is rad.
But understand the basics first.
Share and Enjoy!




  Author: Glenn Roberts
  Rubyfuza 2011
  License: Creative Commons

Weitere ähnliche Inhalte

Ähnlich wie Uber git workflow

Git version control
Git version controlGit version control
Git version controlDavid Xie
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHubNYC DevShop
 
Gitflow Model
Gitflow ModelGitflow Model
Gitflow Modelkenziii
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with gitJoseluis Laso
 
Gitlab and Lingvokot
Gitlab and LingvokotGitlab and Lingvokot
Gitlab and LingvokotLingvokot
 
Gitflow - Una metología para manejo de Branches
Gitflow - Una metología para manejo de BranchesGitflow - Una metología para manejo de Branches
Gitflow - Una metología para manejo de BranchesJavier Alvarez
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAININGbsadd
 
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 StrategyVivek Parihar
 
Lightning branches at RedMart (Js conf Asia 2014 Talk)
Lightning branches at RedMart (Js conf Asia 2014  Talk)Lightning branches at RedMart (Js conf Asia 2014  Talk)
Lightning branches at RedMart (Js conf Asia 2014 Talk)Ritesh Angural
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow WorkshopSyed Imam
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
Git basics a starter on git and its ecosystem
Git basics  a starter on git and its ecosystemGit basics  a starter on git and its ecosystem
Git basics a starter on git and its ecosystemFrançois D'Agostini
 

Ähnlich wie Uber git workflow (20)

Git flow workflow example
Git flow workflow exampleGit flow workflow example
Git flow workflow example
 
Git version control
Git version controlGit version control
Git version control
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Gitflow Model
Gitflow ModelGitflow Model
Gitflow Model
 
Collaborative development with git
Collaborative development with gitCollaborative development with git
Collaborative development with git
 
Gitlab and Lingvokot
Gitlab and LingvokotGitlab and Lingvokot
Gitlab and Lingvokot
 
Subversion
SubversionSubversion
Subversion
 
Gitflow - Una metología para manejo de Branches
Gitflow - Una metología para manejo de BranchesGitflow - Una metología para manejo de Branches
Gitflow - Una metología para manejo de Branches
 
Svn Basic Tutorial
Svn Basic TutorialSvn Basic Tutorial
Svn Basic Tutorial
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAINING
 
Bsadd training-git
Bsadd training-gitBsadd training-git
Bsadd training-git
 
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 Basics
GIT BasicsGIT Basics
GIT Basics
 
Lightning branches at RedMart (Js conf Asia 2014 Talk)
Lightning branches at RedMart (Js conf Asia 2014  Talk)Lightning branches at RedMart (Js conf Asia 2014  Talk)
Lightning branches at RedMart (Js conf Asia 2014 Talk)
 
SVN Information
SVN Information  SVN Information
SVN Information
 
A short guide to git's interactive rebase
A short guide to git's interactive rebaseA short guide to git's interactive rebase
A short guide to git's interactive rebase
 
GitFlow Workshop
GitFlow WorkshopGitFlow Workshop
GitFlow Workshop
 
SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
Git basics a starter on git and its ecosystem
Git basics  a starter on git and its ecosystemGit basics  a starter on git and its ecosystem
Git basics a starter on git and its ecosystem
 

Kürzlich hochgeladen

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Uber git workflow

  • 1. Why I Use Textmate... Glenn Roberts @glennrob glenn.roberts@siyelo.com
  • 2. ...To Squash Commits... Glenn Roberts @glennrob glenn.roberts@siyelo.com
  • 3. ...During an Interactive Rebase... Glenn Roberts @glennrob glenn.roberts@siyelo.com
  • 4. ...In My Uber Git Workflow... Glenn Roberts @glennrob glenn.roberts@siyelo.com
  • 5. ...Which Uses Branching & Merging... Glenn Roberts @glennrob glenn.roberts@siyelo.com
  • 6. ... Like a Boss. Glenn Roberts @glennrob glenn.roberts@siyelo.com
  • 7. Sorry Farrel, already used up all my slide quota
  • 8. • Why your git workflow is important • How we do it @ Siyelo • Random slides to fill the last 4 minutes of a 5 minute talk.
  • 10. feature branches • commit early, often • interactive rebase, squash • ship that mother.
  • 11. old branch labels • partial/no squashing (OK) • nasty git log • whats in a feature? • whats in a feature-set?
  • 12. Evolve your team workflow.
  • 14. 1. The Major Branches Text Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
  • 15. w/ 3 types of supporting branches...
  • 17. 1a) Merge like a Boss with --no-ff Text Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
  • 18. 1b) Always merge with intent --no-ff on the ‘major’ branches [branch "dev"] mergeoptions = --no-ff --no-commit [branch "master"] mergeoptions = --no-ff --no-commit
  • 19. • Stop pulling, please...
  • 20. Every merge is sacred fetch and rebase instead
  • 21. 1c) Nice merge commit changelog # ~/.gitconfig [merge] summary = true Merge branch 'v0.9.5' * v0.9.5: (25 commits) refactor ambiguous budget? & spend? methods fix failing specs
  • 22. 2. Release Branches dev release branches master Start of release branch for 1.0 From this point on, “next release” means Only bug xes! the release after 1.0 Tag 1.0 Bug xes merged back into dev Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
  • 23. 3. Hotfix Branches Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
  • 24. • [dev] branch • keep stable • rebase feature branches • avoid pulling • use merge commits (--no-ff ) • use release & hotfix branches • [master] commit == a release.
  • 25.
  • 26. ... we dont need your witchcraft!
  • 27. j/k. Git Flow is rad. But understand the basics first.
  • 28. Share and Enjoy! Author: Glenn Roberts Rubyfuza 2011 License: Creative Commons

Hinweis der Redaktion

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. Some chaos in the repo.\n Need: An understandable model\n
  10. Rein Henrich’s agile git workflow\n
  11. when/what to release? to staging - to prod ?\nbugfixes?\n
  12. \n
  13. Vincent Driessen\n
  14. a merge with master is a prod release by definition\n
  15. \n
  16. \n
  17. rebase origin/dev! first\n\nsquash if you want\n\n
  18. rebase origin/dev! first\n\nsquash if you want\n\n
  19. \n
  20. \n
  21. with no-ff you get a\n
  22. \n
  23. \n
  24. tasty spaghetti\n
  25. \n
  26. \n
  27. \n
  28. \n