0
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 UsesBranching & Merging...           Glenn Roberts             @glennrob     glenn.roberts@siyelo.com
... Like a Boss.       Glenn Roberts         @glennrob glenn.roberts@siyelo.com
Sorry Farrel, already used up all myslide 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:/...
w/ 3 types of supporting branches...
2. Feature Branches              Text
1a) Merge like a Boss with --no-ff                          Text            Author: Vincent Driessen            Original b...
1b) Always merge with intent --no-ff on the ‘major’ branches[branch "dev"]  mergeoptions = --no-ff --no-commit[branch "mas...
• 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)     ...
2. Release Branches                         dev           release branches                      master                    ...
3. Hotfix Branches           Author: Vincent Driessen           Original blog post: http://nvie.com/archives/323           ...
• [dev] branch • keep stable • rebase feature branches • avoid pulling• use merge commits (--no-ff )• use release & hotfix ...
... 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
Uber git workflow
Upcoming SlideShare
Loading in...5
×

Uber git workflow

1,197

Published on

Git workflow tips - local branching and release management.

Presented at RubyFuZa 2011, Cape Town.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,197
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Some chaos in the repo.\n Need: An understandable model\n
  • Rein Henrich’s agile git workflow\n
  • when/what to release? to staging - to prod ?\nbugfixes?\n
  • \n
  • Vincent Driessen\n
  • a merge with master is a prod release by definition\n
  • \n
  • \n
  • rebase origin/dev! first\n\nsquash if you want\n\n
  • rebase origin/dev! first\n\nsquash if you want\n\n
  • \n
  • \n
  • with no-ff you get a\n
  • \n
  • \n
  • tasty spaghetti\n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Uber git workflow"

    1. 1. Why I Use Textmate... Glenn Roberts @glennrob glenn.roberts@siyelo.com
    2. 2. ...To Squash Commits... Glenn Roberts @glennrob glenn.roberts@siyelo.com
    3. 3. ...During an Interactive Rebase... Glenn Roberts @glennrob glenn.roberts@siyelo.com
    4. 4. ...In My Uber Git Workflow... Glenn Roberts @glennrob glenn.roberts@siyelo.com
    5. 5. ...Which UsesBranching & Merging... Glenn Roberts @glennrob glenn.roberts@siyelo.com
    6. 6. ... Like a Boss. Glenn Roberts @glennrob glenn.roberts@siyelo.com
    7. 7. Sorry Farrel, already used up all myslide quota
    8. 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.
    9. 9. Source control basics. Nailed it.
    10. 10. • feature branches• commit early, often• interactive rebase, squash• ship that mother.
    11. 11. • old branch labels• partial/no squashing (OK)• nasty git log• whats in a feature?• whats in a feature-set?
    12. 12. Evolve your team workflow.
    13. 13. The Nvie.com model:
    14. 14. 1. The Major Branches Text Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
    15. 15. w/ 3 types of supporting branches...
    16. 16. 2. Feature Branches Text
    17. 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. 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. 19. • Stop pulling, please...
    20. 20. Every merge is sacred fetch and rebase instead
    21. 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. 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. 23. 3. Hotfix Branches Author: Vincent Driessen Original blog post: http://nvie.com/archives/323 License: Creative Commons
    24. 24. • [dev] branch • keep stable • rebase feature branches • avoid pulling• use merge commits (--no-ff )• use release & hotfix branches• [master] commit == a release.
    25. 25. ... we dont need your witchcraft!
    26. 26. j/k. Git Flow is rad.But understand the basics first.
    27. 27. Share and Enjoy! Author: Glenn Roberts Rubyfuza 2011 License: Creative Commons
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×