intermediate git: workflows for teams at drupalcamp la, 2015
TRANSCRIPT
![Page 1: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/1.jpg)
Intermediate Git: Workflows for Teams
Matt Wrather, Wrather Creative DrupalCamp LA 2015
![Page 2: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/2.jpg)
![Page 4: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/4.jpg)
![Page 5: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/5.jpg)
(doesn’t use git)photo: slworking
CC-BY-NC-SA
![Page 7: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/7.jpg)
![Page 8: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/8.jpg)
We need…
• Flexibility
• Collaboration
• Recoverability
• Awesomesauce
• Impatient
• Disorganized
• Indecisive
• Insecure
We are…
![Page 9: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/9.jpg)
Agenda
“In theory there’s no difference between theory and practice.
In practice, there is.”
—Yogi Berra
![Page 10: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/10.jpg)
![Page 12: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/12.jpg)
![Page 13: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/13.jpg)
![Page 14: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/14.jpg)
![Page 15: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/15.jpg)
![Page 16: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/16.jpg)
![Page 17: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/17.jpg)
![Page 18: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/18.jpg)
![Page 19: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/19.jpg)
![Page 20: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/20.jpg)
![Page 21: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/21.jpg)
![Page 22: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/22.jpg)
![Page 23: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/23.jpg)
![Page 24: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/24.jpg)
Problems with Git Flow
It’s a little intense.
![Page 25: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/25.jpg)
“There are two kinds of people in this world—those who believe
there are two kinds of people in this world and those who are
smart enough to know better.”
—Tom Robbins Still Life with Woodpecker (2001)
![Page 26: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/26.jpg)
![Page 27: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/27.jpg)
![Page 28: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/28.jpg)
![Page 29: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/29.jpg)
Winchester Mystery House San Jose, CA
![Page 30: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/30.jpg)
Fetch and Rebase Workflow$ git checkout -b my-feature-branch master
# work, stage, commit, repeat; then:
$ git fetch$ git rebase origin/master
$ git checkout master$ git merge origin/master
$ git merge --no-ff my-feature-branch$ git push origin master
![Page 31: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/31.jpg)
Fetch and Rebase Workflow$ git checkout my-feature-branch$ git merge master# work, stage, commit, repeat; then:
$ git fetch$ git rebase origin/master
$ git checkout master$ git merge origin/master
$ git merge --no-ff my-feature-branch$ git push origin master
![Page 32: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/32.jpg)
![Page 33: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/33.jpg)
Thou Shalt Not Rebase CommitsThou Hast Pushed To a Remote Repository.
![Page 34: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/34.jpg)
![Page 35: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/35.jpg)
Topic Branch Workflow$ git checkout master$ git pull
$ git checkout -b topic-branch-1 master$ git checkout -b topic-branch-2 master$ git checkout -b topic-branch-3 master$ git checkout -b topic-branch-4 master
# work and push
$ git checkout -b staging master$ git merge topic-branch-1 topic-branch-2 # etc.
$ git checkout master$ git merge staging
![Page 36: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/36.jpg)
![Page 37: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/37.jpg)
![Page 38: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/38.jpg)
![Page 39: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/39.jpg)
![Page 40: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/40.jpg)
![Page 41: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/41.jpg)
![Page 42: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/42.jpg)
![Page 43: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/43.jpg)
feature/
bugfix/
release/
google-sitemapab-123-google-sitemap
![Page 45: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/45.jpg)
DATA YOU LEFT OUT A SEMICOLON
ENGAGE FACEPALM
![Page 46: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/46.jpg)
checkout
![Page 47: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/47.jpg)
revert
![Page 48: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/48.jpg)
reset
![Page 49: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/49.jpg)
reset --hard
![Page 50: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/50.jpg)
rebase -i
![Page 51: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/51.jpg)
Thou Shalt Not Rebase CommitsThou Hast Pushed To a Remote Repository.
![Page 52: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/52.jpg)
![Page 53: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/53.jpg)
![Page 54: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/54.jpg)
reflog
![Page 55: Intermediate Git: Workflows for Teams at DrupalCamp LA, 2015](https://reader034.vdocuments.net/reader034/viewer/2022042707/587edd691a28abdb198b7ba5/html5/thumbnails/55.jpg)