web制作におけるGitフロー

2d1275668d7b6a47d4e29415994313b8?s=47 井上拓
January 22, 2018

 web制作におけるGitフロー

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

2d1275668d7b6a47d4e29415994313b8?s=128

井上拓

January 22, 2018
Tweet

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ϑϩʔʱ
  2. Ҫ্ ୓ • ϑϩϯτΤϯυΤϯδχΞ • 1991೥6݄6೔ੜ·Εͷ26ࡀ • ່͔Θ͍͍ • CSS

    Nite in HIROSHIMA ࣮ߦһձ෭ҕһ௕ • ϑϩϯτΤϯυษڧձ ओ࠵ • [CodeCode](https://codecodeweb.com/) ࣗݾ঺հ
  3. ࣗݾ঺հ ݄ Ր ਫ ໦ ۚ ౔ ೔ ன ˕

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

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

  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ϑϩʔʱ
  7. ஫ҙ • Git-flow͸ࠓճऔΓѻΘͳ͍ • ࣗ෼͕։ൃ͢Δͱ͖ͷख๏Λ঺հ͠·͢

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

  9. Α͋͘Δϑϩʔ

  10. masterͰ࡞ۀ

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

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

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

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

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

  16. ରࡦ

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

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

  19. ϒϥϯνͷ׆༻

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

    ؆୯ʹ͍͏ͱผͷੈքઢΛͭ͘Δ
  21. ϒϥϯνͷ׆༻ • ฏߦ࡞ۀ༻ʹϒϥϯνΛͭ͘Δ • masterͰ͸೔ʑͷߋ৽Λͭͭ͠ɺdevͰ͸ऴྃ࡞ۀ $ git branch dev $

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

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

    ຊྲྀɺࢧྲྀͲͪΒ͔Λ࠾༻͢Δ͔खಈͰϚʔδ͢Δ
  24. master Πϕϯτϖʔδ࡞੒ Πϕϯτऴྃ

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

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

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

    merge dev ΠϕϯτΞʔΧΠϒϖʔδ Πϕϯτऴྃ
  28. ϒϥϯνΛ࢖͏ͱ • ઌߦ։ൃ͕͠΍͍͢ • ෳ਺ਓ࡞ۀ͕͠΍͍͢ • ࣌ؒ୹ॖ͕Մೳ • ࣮ݧͰࣦഊͯ͠΋ϒϥϯνΛফͤ͹ݩͲ͓Γ

  29. ن໛͕େ͖͘ͳΔͱ • master͸ϦϦʔεͷΈ࢖͏ • devͱ͸ผʹfeatureϒϥϯνΛͭ͘Δ • feature͸࣮૷༧ఆͷ։ൃʹ࢖͏
 dev͔Β෼ذͯ͠ɺdevʹϚʔδ͢Δ

  30. Issueͷ׆༻

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

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

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

  34. None
  35. None
  36. None
  37. None
  38. None
  39. None
  40. None
  41. None
  42. master Πϕϯτϖʔδ࡞੒ Πϕϯτऴྃ ೔ʑͷߋ৽ Πϕϯτऴྃใࠂ ΠϕϯτΞʔΧΠϒϖʔδެ։ dev git checkout -b

    dev git merge dev
  43. master Πϕϯτऴྃ ߋ৽ Πϕϯτऴྃใࠂ ΠϕϯτΞʔΧΠϒϖʔδެ։ dev git checkout -b dev

    git merge dev #5 git checkout -b #5 git merge dev όάमਖ਼
  44. IsuueΛ࢖͏ͱ • ToDoϦετ͕Ͱ͖Δ • ొ࿥͢Δͱϝʔϧ͕ಧ͘ͷͰ֬ೝϞϨɾमਖ਼ϞϨ͕͘͢ͳ͍ • εϨουͰ΍ΓͱΓͰ͖ΔͷͰޮ཰త • ϥϕϧΛ׆༻͢Δͱ΋ͬͱޮ཰త •

    ΋ͬͱن໛͕େ͖͘ͳΔ৔߹͸Git FlowΛࢀߟʹ
  45. ϓϧϦΫΤετ

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

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

  48. None
  49. None
  50. None
  51. None
  52. None
  53. None
  54. None
  55. None
  56. None
  57. None
  58. ϓϧϦΫΤετΛ࢖͏ͱ • ͜ͷ޻ఔΛ܁Γฦ͢͜ͱͰɺίʔυͷ඼࣭͕อͨΕΔ • ίʔυϨϏϡʔ͢Δ͜ͱͰɺษڧʹͳΔ

  59. ·ͱΊ

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

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