SlideShare a Scribd company logo
1 of 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

More Related Content

Similar to Uber git workflow

Gitflow Model
Gitflow ModelGitflow Model
Gitflow Model
kenziii
 
BSADD-Git-TRAINING
BSADD-Git-TRAININGBSADD-Git-TRAINING
BSADD-Git-TRAINING
bsadd
 
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
François D'Agostini
 

Similar to 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
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+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...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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...
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+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...
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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
 

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

Editor's Notes

  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