Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How Spendsetter gits

How Spendsetter gits

Behold, Spendsetter's new, improved, and more-refined git process.

Bill Israel

January 22, 2015
Tweet

More Decks by Bill Israel

Other Decks in Programming

Transcript

  1. how gits
    january 22, 2015

    View Slide

  2. View Slide

  3. git flow

    View Slide

  4. git flow github flow

    View Slide

  5. git flow github flow
    spendsetter flow

    View Slide

  6. git flow github flow
    spendsetter flow
    (no, we’re not calling it that)

    View Slide

  7. main principles

    View Slide

  8. two main branches

    View Slide

  9. master
    two main branches

    View Slide

  10. master
    develop
    two main branches

    View Slide

  11. master = what’s on prod

    View Slide

  12. master = what’s on prod
    develop = what’s on stage

    View Slide

  13. work from develop

    View Slide

  14. hotfixes from master

    View Slide

  15. everything is reviewed

    View Slide

  16. all work is tied to a
    JIRA ticket

    View Slide

  17. work process

    View Slide

  18. update base branch
    step 1

    View Slide

  19. step 1

    View Slide

  20. git fetch
    step 1

    View Slide

  21. git fetch
    step 1
    git merge /branch

    View Slide

  22. git pull
    step 1

    View Slide

  23. git pull
    step 1
    git pull

    View Slide

  24. create new branch
    step 2

    View Slide

  25. step 2

    View Slide

  26. git checkout -b
    step 2

    View Slide

  27. names
    step 2

    View Slide

  28. names
    step 2
    feature: delete-campaign

    View Slide

  29. names
    step 2
    feature: delete-campaign
    bug: fix-delete-campaign

    View Slide

  30. names
    step 2
    feature: delete-campaign
    bug: fix-delete-campaign
    jira ticket: amp-123

    View Slide

  31. do work
    step 3

    View Slide

  32. step 3

    View Slide

  33. your local env = your business
    step 3

    View Slide

  34. (maybe consider rebasing?)
    step 3

    View Slide

  35. open a pull request
    step 4

    View Slide

  36. open it at any time
    step 4

    View Slide

  37. indicate status in title
    step 4

    View Slide

  38. example: [WIP]
    step 4

    View Slide

  39. ready for review
    step 5

    View Slide

  40. clear, succinct title
    step 5

    View Slide

  41. a long-enough description
    step 5

    View Slide

  42. reviewer needs context
    step 5

    View Slide

  43. review process

    View Slide

  44. the feedback loop
    step 6

    View Slide

  45. the feedback loop
    step 6

    View Slide

  46. the feedback loop
    step 6
    receive feedback

    View Slide

  47. the feedback loop
    step 6
    receive feedback
    make change or explain

    View Slide

  48. the feedback loop
    step 6
    receive feedback
    make change or explain
    repeat

    View Slide

  49. ready for merge
    step 7

    View Slide

  50. how to clean up
    step 7

    View Slide

  51. how to clean up
    step 7
    update base branch

    View Slide

  52. how to clean up
    step 7
    update base branch
    git rebase -i

    View Slide

  53. how to clean up
    step 7
    update base branch
    git rebase -i
    git push --force origin

    View Slide

  54. quick note on commit messages
    step 7

    View Slide

  55. step 7

    View Slide

  56. first line = summary
    step 7

    View Slide

  57. first line = summary
    step 7
    72 characters, max

    View Slide

  58. first line = summary
    step 7
    72 characters, max
    present tense

    View Slide

  59. first line = summary
    step 7
    72 characters, max
    present tense
    doesn’t end in a period

    View Slide

  60. step 7

    View Slide

  61. one blank line
    step 7

    View Slide

  62. one blank line
    step 7
    prose description

    View Slide

  63. one blank line
    step 7
    prose description
    use github-flavored markdown

    View Slide

  64. one blank line
    step 7
    prose description
    use github-flavored markdown
    mention relevant JIRA tickets

    View Slide

  65. step 7

    View Slide

  66. Fixes deleting campaigns
    The resource collection was
    incorrect on the `DELETE` URL for
    campaigns. It was `campaign` and
    should have been `campaigns`.
    Fixes AMP-123.
    step 7

    View Slide

  67. merge your pull request
    step 8

    View Slide

  68. goto 1
    step 9

    View Slide

  69. how gits
    questions?

    View Slide