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

web制作におけるGitフロー

井上拓
January 22, 2018

 web制作におけるGitフロー

広島フロントエンド勉強会 Vol.15 ヒロフロ & AUG広島Git勉強会で発表したスライド

井上拓

January 22, 2018
Tweet

More Decks by 井上拓

Other Decks in Technology

Transcript

  1. pull
    commit
    merge
    checkout
    branch
    stash
    push
    add
    diff
    status
    log
    reset
    revert
    rebase rm
    stash commit
    diff
    merge
    log
    add
    checkout
    pull
    push
    commit
    ώϩϑϩ & AUG޿ౡGitษڧձ
    ʰweb੍࡞ʹ͓͚ΔGitϑϩʔʱ

    View Slide

  2. Ҫ্ ୓
    • ϑϩϯτΤϯυΤϯδχΞ
    • 1991೥6݄6೔ੜ·Εͷ26ࡀ
    • ່͔Θ͍͍
    • CSS Nite in HIROSHIMA ࣮ߦһձ෭ҕһ௕
    • ϑϩϯτΤϯυษڧձ ओ࠵
    • [CodeCode](https://codecodeweb.com/)
    ࣗݾ঺հ

    View Slide

  3. ࣗݾ঺հ
    ݄ Ր ਫ ໦ ۚ ౔ ೔
    ன ˕ ˕ ˕ ˕ ˕ ˕
    ൩ ˕ ˕ ˕

    View Slide

  4. ώϩϑϩ & ෢ଂ๥
    ʰोͳ͠୲ʑ໙͓͢͢Ίͷ৯΂ํʱ

    View Slide

  5. ͓͢͢Ί͸
    ʰމຑ̎ਏ + Թۄ + ωΪ௥Ճʱ

    View Slide

  6. pull
    commit
    merge
    checkout
    branch
    stash
    push
    add
    diff
    status
    log
    reset
    revert
    rebase rm
    stash commit
    diff
    merge
    log
    add
    checkout
    pull
    push
    commit
    ώϩϑϩ & AUG޿ౡGitษڧձ
    ʰweb੍࡞ʹ͓͚ΔGitϑϩʔʱ

    View Slide

  7. ஫ҙ
    • Git-flow͸ࠓճऔΓѻΘͳ͍
    • ࣗ෼͕։ൃ͢Δͱ͖ͷख๏Λ঺հ͠·͢

    View Slide

  8. ର৅
    • Gitॳ৺ऀ
    • Git࢖ͬͯΔ͚Ͳɺ͏·͘࢖͑ͯΔ͔Θ͔Βͳ͍
    • Α͘ίϯϑϦΫτىͯ͜͠ɺݱ৔ΛࠞಱʹؕΕΔਓ

    View Slide

  9. Α͋͘Δϑϩʔ

    View Slide

  10. masterͰ࡞ۀ

    View Slide

  11. masterͱ͸
    • Git؅ཧΛ͸͡Ίͨ࣌ʹ੍࡞͞ΕΔ࠷ॳͷϒϥϯν
    • ओʹϦϦʔε͞ΕΔίʔυͱಉ͡ίʔυ͕͍Δ
    • ௚઀pushͰ͖ͳ͍Α͏ʹͨ͠Γɺͦ΋ͦ΋ϩʔΧϧʹ͸࣋ͨ
    ͳ͍Α͏ʹͨ͠Γ͞ΕΔ৔߹΋

    View Slide

  12. masterͰ࡞ۀ
    • ϦϦʔε͞ΕΔίʔυʹόά͕ࠞ͡ΔՄೳੑ͕͋Δ
    • ࡞ۀ͕׬શʹऴΘ͍ͬͯͳ͍ͱϦϦʔεͰ͖ͳ͍
    • ઌߦ։ൃ͕Ͱ͖ͳ͍
    • ίϯϑϦΫτ͕ൃੜ͠΍͍͢

    View Slide

  13. masterͰ࡞ۀ
    • ϦϦʔε͞ΕΔίʔυʹόά͕ࠞ͡ΔՄೳੑ͕͋Δ
    • ࡞ۀ͕׬શʹऴΘ͍ͬͯͳ͍ͱϦϦʔεͰ͖ͳ͍
    • ઌߦ։ൃ͕Ͱ͖ͳ͍
    • ίϯϑϦΫτ͕ൃੜ͠΍͍͢

    View Slide

  14. master
    Πϕϯτϖʔδ࡞੒
    ೔ʑͷߋ৽
    Πϕϯτऴྃใࠂ
    ΠϕϯτΞʔΧΠϒϖʔδެ։
    Πϕϯτऴྃ

    View Slide

  15. master
    ࡞ۀ͕࣌ؒ
    ଍Γͳ͍ʂʂ
    ࠓ೔தʹΑΖ͘͠
    master
    Πϕϯτϖʔδ࡞੒
    ೔ʑͷߋ৽
    Πϕϯτऴྃใࠂ
    ΠϕϯτΞʔΧΠϒϖʔδެ։
    Πϕϯτऴྃ

    View Slide

  16. ରࡦ

    View Slide

  17. ରࡦ1 ؾ߹͍Ͱ͕Μ͹Δ
    • Πϕϯτऴྃ೔͸ప໷Ͱ࡞ۀ
    ݱ࣮త͡Όͳ͍

    View Slide

  18. ରࡦ2 ίϐʔϖʔδΛ࡞Δ
    • ϖʔδΛίϐʔͯ͠࡞͓ͬͯ͘
    ೔ʑͷߋ৽෼͕ϞϨͦ͏

    View Slide

  19. ϒϥϯνͷ׆༻

    View Slide

  20. ϒϥϯνͱ͸
    • ։ൃͷຊྲྀ͔Β෼ذ͠ɺຊྲྀͷ։ൃΛअຐ͢Δ͜ͱͳ͘࡞ۀΛ
    ଓ͚Δػೳͷ͜ͱ
    • Git ͷϒϥϯνϞσϧ͸ɺGit ͷػೳͷதͰ΋ͬͱ΋͢͹Β͠
    ͍΋ͷͩͱ͍͏ਓ΋͍Δ΄Ͳ
    • ؆୯ʹ͍͏ͱผͷੈքઢΛͭ͘Δ

    View Slide

  21. ϒϥϯνͷ׆༻
    • ฏߦ࡞ۀ༻ʹϒϥϯνΛͭ͘Δ
    • masterͰ͸೔ʑͷߋ৽Λͭͭ͠ɺdevͰ͸ऴྃ࡞ۀ
    $ git branch dev
    $ git checkout dev

    View Slide

  22. ϒϥϯνͷ׆༻
    • devͰͷ࡞ۀ׬ྃޙmaster΁merge͢Δ
    $ git checkout master
    $ git merge dev

    View Slide

  23. Ϛʔδͱ͸
    • ։ൃͷຊྲྀ͔Β෼ذͨ͠ࢧྲྀΛຊྲྀʹ߹ྲྀͤ͞Δ͜ͱ
    • มߋΛՃ͑ͨϒϥϯνΛɺݩͷϒϥϯνʹϚʔδ͢Δ͜ͱʹΑͬ
    ͯɺमਖ਼Λྲྀ͠ࠐΉ
    • ຊྲྀͱࢧྲྀͰಉ͡ՕॴΛมߋ͍ͯͨ͠৔߹ɺίϯϑϦΫτ͕͓
    ͖Δ
    • ຊྲྀɺࢧྲྀͲͪΒ͔Λ࠾༻͢Δ͔खಈͰϚʔδ͢Δ

    View Slide

  24. master
    Πϕϯτϖʔδ࡞੒
    Πϕϯτऴྃ

    View Slide

  25. master
    Πϕϯτϖʔδ࡞੒
    Πϕϯτऴྃใࠂ
    dev
    git checkout -b dev
    Πϕϯτऴྃ

    View Slide

  26. master
    Πϕϯτϖʔδ࡞੒
    ೔ʑͷߋ৽
    Πϕϯτऴྃใࠂ
    ΠϕϯτΞʔΧΠϒϖʔδ
    dev
    git checkout -b dev
    Πϕϯτऴྃ

    View Slide

  27. master
    Πϕϯτϖʔδ࡞੒
    ೔ʑͷߋ৽
    Πϕϯτऴྃใࠂ
    dev
    git checkout -b dev
    git merge dev
    ΠϕϯτΞʔΧΠϒϖʔδ
    Πϕϯτऴྃ

    View Slide

  28. ϒϥϯνΛ࢖͏ͱ
    • ઌߦ։ൃ͕͠΍͍͢
    • ෳ਺ਓ࡞ۀ͕͠΍͍͢
    • ࣌ؒ୹ॖ͕Մೳ
    • ࣮ݧͰࣦഊͯ͠΋ϒϥϯνΛফͤ͹ݩͲ͓Γ

    View Slide

  29. ن໛͕େ͖͘ͳΔͱ
    • master͸ϦϦʔεͷΈ࢖͏
    • devͱ͸ผʹfeatureϒϥϯνΛͭ͘Δ
    • feature͸࣮૷༧ఆͷ։ൃʹ࢖͏

    dev͔Β෼ذͯ͠ɺdevʹϚʔδ͢Δ

    View Slide

  30. Issueͷ׆༻

    View Slide

  31. Issueͱ͸
    • GitHub΍BitbucketͳͲʹ͋Δ໰୊఺Λొ࿥͢ΔϦετ
    • όά΍ࠓޙ։ൃ༧ఆͷ΋ͷΛొ࿥͢Δ

    View Slide

  32. GithubɺBitbucketͱ͸
    • ϦϞʔτϦϙδτϦͷϗεςΟϯάαʔϏε
    • ؆୯ʹ͍͏ͱෳ਺ਓͰ࡞ۀ͢Δࡍʹ֤ʑͷมߋ͕ू໿͞ΕΔ৔

    View Slide

  33. Issueͷॻ͖ํ
    • 1ͭͷIssueʹ1ͭͷ໰୊(όά)
    • λΠτϧ͚ͩͰIssueͷ಺༰͕೺ѲͰ͖ΔΑ͏ʹ
    • ίϝϯτʹ͸࣮ߦ؀ڥɾ࠶ݱखॱɾਖ਼͍͠ڍಈ(Θ͔Ε͹)Λॻ
    ͘

    View Slide

  34. View Slide

  35. View Slide

  36. View Slide

  37. View Slide

  38. View Slide

  39. View Slide

  40. View Slide

  41. View Slide

  42. master
    Πϕϯτϖʔδ࡞੒
    Πϕϯτऴྃ
    ೔ʑͷߋ৽
    Πϕϯτऴྃใࠂ
    ΠϕϯτΞʔΧΠϒϖʔδެ։
    dev
    git checkout -b dev
    git merge dev

    View Slide

  43. master
    Πϕϯτऴྃ
    ߋ৽
    Πϕϯτऴྃใࠂ
    ΠϕϯτΞʔΧΠϒϖʔδެ։
    dev
    git checkout -b dev
    git merge dev
    #5
    git checkout -b #5
    git merge dev
    όάमਖ਼

    View Slide

  44. IsuueΛ࢖͏ͱ
    • ToDoϦετ͕Ͱ͖Δ
    • ొ࿥͢Δͱϝʔϧ͕ಧ͘ͷͰ֬ೝϞϨɾमਖ਼ϞϨ͕͘͢ͳ͍
    • εϨουͰ΍ΓͱΓͰ͖ΔͷͰޮ཰త
    • ϥϕϧΛ׆༻͢Δͱ΋ͬͱޮ཰త
    • ΋ͬͱن໛͕େ͖͘ͳΔ৔߹͸Git FlowΛࢀߟʹ

    View Slide

  45. ϓϧϦΫΤετ

    View Slide

  46. ϓϧϦΫΤετͱ͸
    • ίʔυͷมߋΛϨϏϡϫʔʹ௨஌͠ɺϚʔδΛґཔ͢Δػೳ
    • ίʔυϨϏϡʔΛड͚Δ͜ͱͰɺόάͷൃݟͳͲίʔυͷ඼࣭
    ͕อͨΕΔ
    $ git push origin #5

    View Slide

  47. ϓϧϦΫΤετͷॻ͖ํ
    • λΠτϧ͚ͩͰϓϧϦΫΤετͷ಺༰͕೺ѲͰ͖ΔΑ͏ʹ
    • ίϝϯτʹ͸มߋ఺Λ؆ܿʹॻ͘
    • ͳΔ΂͘͜·Ίʹɺ1ཁ݅͝ͱ͕๬·͍͠

    View Slide

  48. View Slide

  49. View Slide

  50. View Slide

  51. View Slide

  52. View Slide

  53. View Slide

  54. View Slide

  55. View Slide

  56. View Slide

  57. View Slide

  58. ϓϧϦΫΤετΛ࢖͏ͱ
    • ͜ͷ޻ఔΛ܁Γฦ͢͜ͱͰɺίʔυͷ඼࣭͕อͨΕΔ
    • ίʔυϨϏϡʔ͢Δ͜ͱͰɺษڧʹͳΔ

    View Slide

  59. ·ͱΊ

    View Slide

  60. ·ͱΊ
    • masterͰͷ࡞ۀ͸΍Ί·͠ΐ͏
    • ϒϥϯνΛ࢖ͬͯ࡞ۀΛޮ཰Խͤ͞·͠ΐ͏
    • IsuueΛ࢖ͬͯϞϨͳ͘मਖ਼͠·͠ΐ͏
    • ϓϧϦΫΤετͰίʔυϨϏϡʔ͠·͠ΐ͏

    View Slide

  61. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠

    View Slide