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

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
 

Ä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
 

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