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

自分が頑張らなくても何とかなるようにするためのGit運用のコツ #Naite/Knack of Git management

自分が頑張らなくても何とかなるようにするためのGit運用のコツ #Naite/Knack of Git management

NaITE #13「Docker入門 &Git運用のコツ」( http://nagasaki-it-engineers.connpass.com/event/29925/ )の発表資料です。
この資料の補足内容は以下の記事に記載してます。
http://nihonbuson.hatenadiary.jp/entry/2016/05/02/150000

nihonbuson

May 01, 2016
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. ࣗ෼͕ؤுΒͳͯ͘΋
    Կͱ͔ͳΔΑ͏ʹ͢ΔͨΊͷ
    Gitӡ༻ͷίπ
    @nihonbuson
    NaITE #13
    http://nagasaki-it-engineers.connpass.com/event/29925/

    View Slide

  2. ͸͡Ίʹ…
    Ξϯέʔτ
    • GitͷίϚϯυΛ஌Βͳ͍
    • GitͱGitHubͷҧ͍͕෼͔Βͳ͍
    • GitΛۀ຿Ͱ࢖͏৔߹ɺ15ਓҎ্͕ର৅ऀʹͳΔ
    • ίϯύΠϧ͕࣌ؒ௕͍
    • νέοτ؅ཧγεςϜΛར༻͍ͯ͠Δ

    View Slide

  3. ͸͡Ίʹ…
    Ξϯέʔτ
    • GitͷίϚϯυΛ஌Βͳ͍
    • GitͱGitHubͷҧ͍͕෼͔Βͳ͍
    • GitΛۀ຿Ͱ࢖͏৔߹ɺ15ਓҎ্͕ର৅ऀʹͳΔ
    • ίϯύΠϧ͕࣌ؒ௕͍
    • νέοτ؅ཧγεςϜΛར༻͍ͯ͠Δ
    ؤுͬͯʂ
    ࠓճͷର৅ऀ

    View Slide

  4. Gitͷ࢖͍ํ
    ʢ։ൃऀ໨ઢʣ
    https://goo.gl/XvWdkm

    View Slide

  5. Gitͷ࢖͍ํʢ։ൃऀ໨ઢʣ
    http://www.slideshare.net/ihcomega/git-57454868/49

    View Slide

  6. GitͱGitHubͷҧ͍

    View Slide

  7. GitͱGitHubͷҧ͍
    • GitHubͱ͸GitΛ࢖ͬͨWebαʔϏεͷҰͭ
    • ଞʹ͸ҎԼͷΑ͏ͳαʔϏε͕͋Δ
    • GitLab
    • Bitbucket

    View Slide

  8. GitͷϝϦοτ

    View Slide

  9. GitͷϝϦοτ
    • ϩʔΧϧͰίϛοτ͕ग़དྷΔ
    • ϒϥϯνΛ؆୯ʹ෼͚ΒΕΔ
    • ؆୯ʹϚʔδ͕Ͱ͖Δ

    View Slide

  10. ϝϦοτᶃ
    ϩʔΧϧͰίϛοτ͕ग़དྷΔ
    • ࡞ۀͷ్தͰίϛοτ͕ग़དྷΔ
    • αʔόʔ͕མͪͯ΋։ൃΛߦ͏͜ͱ͕ग़དྷΔ
    http://www.slideshare.net/ihcomega/git-57454868/49

    View Slide

  11. ϝϦοτᶃ
    ϩʔΧϧͰίϛοτ͕ग़དྷΔ
    • ࡞ۀͷ్தͰίϛοτ͕ग़དྷΔ
    • αʔόʔ͕མͪͯ΋։ൃΛߦ͏͜ͱ͕ग़དྷΔ
    ։ൃऀݸਓͷ࿩ͳͷͰׂѪ

    View Slide

  12. ϝϦοτᶄ
    ϒϥϯνΛ؆୯ʹ෼͚ΒΕΔ
    • SVN

    ϦϙδτϦͷෳ੡͕ඞཁ
    • Git

    ੾Γସ͑Λߦ͏͚ͩ

    View Slide

  13. ϝϦοτᶅ
    ؆୯ʹϚʔδ͕Ͱ͖Δ
    • Ϛʔδͷ࢓૊Έ͕SVNΑΓ΋༏ल
    • ϝιουΛ௥ՃˠSVNͩͱίϯϑϦΫτ

    View Slide

  14. ͜ΕΒʹΑΓಘΒΕΔϝϦοτ
    • ίʔυϨϏϡʔ͕͠΍͍͢
    • ࣗ෼ͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍
    • masterʢຊྲྀʣͷෆ۩߹͕গͳ͍ঢ়ଶʹ
    • ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ

    View Slide

  15. ͜ΕΒʹΑΓಘΒΕΔϝϦοτ
    • ίʔυϨϏϡʔ͕͠΍͍͢
    • ࣗ෼ͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍
    • masterʢຊྲྀʣͷෆ۩߹͕গͳ͍ঢ়ଶʹ
    • ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ
    ͋ͱͰઆ໌ʂ

    View Slide

  16. ϑϩʔͷ঺հ
    http://nvie.com/posts/a-successful-git-branching-model/

    View Slide

  17. SVNʢൺֱͱͯ͠ʣ
    USVOL

    View Slide

  18. SVNʢൺֱͱͯ͠ʣ
    USVOL

    View Slide

  19. SVNʢൺֱͱͯ͠ʣ
    • ϩʔΧϧͰ։ൃˠίϛοτͯ͠ऴྃ
    • ୯७ʂ
    • ͨͩɺෆ۩߹ͷࠞೖΛ๷͙࢓૊Έແ͠

    View Slide

  20. GitHubϑϩʔ
    NBTUFS

    View Slide

  21. GitHubϑϩʔ
    NBTUFS
    UPQJD

    View Slide

  22. GitHubϑϩʔ
    NBTUFS
    UPQJD
    ϒϥϯνΛ
    ؆୯ʹ෼͚ΒΕΔ

    View Slide

  23. GitHubϑϩʔ
    NBTUFS
    UPQJD

    View Slide

  24. GitHubϑϩʔ
    NBTUFS
    UPQJD

    View Slide

  25. Gitͷ࢖͍ํʢ։ൃऀ໨ઢʣ
    http://www.slideshare.net/ihcomega/git-57454868/49

    View Slide

  26. GitHubϑϩʔ
    NBTUFS
    UPQJD

    View Slide

  27. GitHubϑϩʔ
    NBTUFS
    UPQJD
    ؆୯ʹ
    Ϛʔδ͕Ͱ͖Δ

    View Slide

  28. GitHubϑϩʔ
    NBTUFS
    UPQJD UPQJD

    View Slide

  29. Gitϑϩʔ
    NBTUFS

    View Slide

  30. Gitϑϩʔ
    NBTUFS
    EFWMPQ

    View Slide

  31. Gitϑϩʔ
    NBTUFS
    EFWMPQ
    UPQJD

    View Slide

  32. Gitϑϩʔ
    NBTUFS
    EFWMPQ
    UPQJD

    View Slide

  33. Gitϑϩʔ
    NBTUFS
    EFWMPQ
    UPQJD

    View Slide

  34. Gitϑϩʔ
    NBTUFS
    EFWMPQ
    UPQJD

    View Slide

  35. Gitϑϩʔ
    NBTUFS
    EFWMPQ
    UPQJD
    SFMFBTF

    View Slide

  36. Gitϑϩʔ
    NBTUFS
    EFWMPQ
    UPQJD
    SFMFBTF

    View Slide

  37. Gitϑϩʔ
    NBTUFS
    EFWMPQ SFMFBTF
    IPUpY

    View Slide

  38. Gitϑϩʔ
    NBTUFS
    EFWMPQ SFMFBTF
    IPUpY

    View Slide

  39. ։ൃऀ͕ؾʹ͢Δͷ͸…
    NBTUFS
    EFWMPQ
    UPQJD

    View Slide

  40. ։ൃऀ͕ؾʹ͢Δͷ͸…
    NBTUFS
    EFWMPQ
    UPQJD
    SFMFBTF

    View Slide

  41. ϑϩʔ͸͋͘·Ͱ΋Ұྫ
    https://speakerdeck.com/kensuketanaka/ikyu-deploy-flow?slide=35

    View Slide

  42. ͪΐͬͱٳܜ

    View Slide

  43. ચ͍ਫɾ͗͢͢ਫɾ෇͚ਫ
    ֆͷ۩ͷචͷચ͍ํ
    1. ચ͍ਫͰચ͏
    2. ͗͢͢ਫͰ͙͢͢
    3. ৗʹ៉ྷͳ෇͚ਫͰ

    ਫΛؚ·ͤΔ

    View Slide

  44. ಘΒΕΔϝϦοτ

    View Slide

  45. ಘΒΕΔϝϦοτʢ࠶ܝʣ
    • ίʔυϨϏϡʔ͕͠΍͍͢
    • ࣗ෼ͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍
    • masterʢຊྲྀʣͷෆ۩߹͕গͳ͍ঢ়ଶʹ
    • ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ

    View Slide

  46. ಘΒΕΔϝϦοτᶃ
    ίʔυϨϏϡʔ͕͠΍͍͢
    NBTUFS
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ

    View Slide

  47. ಘΒΕΔϝϦοτᶄ
    ࣗ෼ͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍
    NBTUFS
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ

    View Slide

  48. ಘΒΕΔϝϦοτᶅ
    masterͷෆ۩߹͕গͳ͍ঢ়ଶʹ
    NBTUFS
    EFWMPQ
    UPQJD
    SFMFBTF

    View Slide

  49. ಘΒΕΔϝϦοτᶆ
    ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ
    NBTUFS
    EFWMPQ

    View Slide

  50. େن໛ͳಋೖΛ͢Δલʹ
    ߦ͏͜ͱɾܾΊ͓ͯ͘͜ͱ
    http://business-peoples.com/material/041.jpg

    View Slide

  51. େن໛ಋೖ࣌ʹߦ͏͜ͱᶃ
    ϑϩʔΛܾΊ͓ͯ͘
    • Gitϑϩʔɹɹ →େن໛ͳ৔߹ʹ࠷ద
    • Githubϑϩʔ →খن໛ɺ୹͍αΠΫϧʹ࠷ద
    • ͦͷଞͷϑϩʔ →ࣗ෼ͷνʔϜʹ߹͏Α͏ʹ

    View Slide

  52. େن໛ಋೖ࣌ʹߦ͏͜ͱᶄ
    ϨϏϡΞʔΛܾΊ͓ͯ͘
    NBTUFS
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ

    View Slide

  53. େن໛ಋೖ࣌ʹߦ͏͜ͱᶄ
    ϨϏϡΞʔΛܾΊ͓ͯ͘
    • ϨϏϡΞʔ͕ϘτϧωοΫʹ
    • ϨϏϡΞʔͷ਺͕ॏཁ
    • ͓ޓ͍ʹϨϏϡʔͰ͖Δ૊৫ͳΒ࠷ߴ
    • ͦ͏Ͱͳ͍৔߹ɺग़དྷͯ1:4͙Β͍ʁ

    View Slide

  54. େن໛ಋೖ࣌ʹߦ͏͜ͱᶅ
    protected branchΛ༻͍Δ
    • protected branchʹ͢Δ͜ͱͰɺ

    ޡͬͨϚʔδͳͲΛ๷͙
    • topic branchҎ֎͸protected branchʹ͢΂͖
    NBTUFS
    EFWMPQ
    UPQJD SFMFBTF IPUpY

    View Slide

  55. େن໛ಋೖ࣌ʹߦ͏͜ͱᶅ
    protected branchΛ༻͍Δ
    NBTUFS
    EFWMPQ
    UPQJD
    ࣗಈڋ൱

    View Slide

  56. େن໛ಋೖ࣌ʹߦ͏͜ͱᶅ
    protected branchΛ༻͍Δ
    • protected branchΛ࢖Θͳ͔ͬͨྫ
    "Luca, ϑΥʔε(force)Λ࢖͑”
    - Jenkins։ൃऀ͕̍ϲ݄෼ͷGitHubίϛοτΛফࣦ
    http://www.infoq.com/jp/news/2013/11/use-the-force

    View Slide

  57. େن໛ಋೖ࣌ʹߦ͏͜ͱᶆ
    ίϯύΠϧɺ੩తղੳͷಋೖ
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ
    $*αʔόʔ

    View Slide

  58. େن໛ಋೖ࣌ʹߦ͏͜ͱᶆ
    ίϯύΠϧɺ੩తղੳͷಋೖ
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ
    $*αʔόʔ
    ίϯύΠϧ࣮ߦ
    IPPL

    View Slide

  59. େن໛ಋೖ࣌ʹߦ͏͜ͱᶆ
    ίϯύΠϧɺ੩తղੳͷಋೖ
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ
    $*αʔόʔ
    ίϯύΠϧ࣮ߦ
    IPPL
    ݁Ռ௨஌

    View Slide

  60. େن໛ಋೖ࣌ʹߦ͏͜ͱᶆ
    ίϯύΠϧɺ੩తղੳͷಋೖ
    EFWMPQ
    UPQJD
    ϓϧϦΫΤετ
    $*αʔόʔ
    ίϯύΠϧ࣮ߦ
    IPPL
    ݁Ռ௨஌
    ࣗಈڋ൱

    View Slide

  61. େن໛ಋೖ࣌ʹߦ͏͜ͱᶇ
    νέοτۦಈ։ൃͷڧ੍Խ
    ࣗ෼ͷ໊લΛtopic branch໊ʹ

    (Git͋Δ͋Δ)
    NBTUFS
    EFWMPQ
    CSPDDPMJ

    View Slide

  62. େن໛ಋೖ࣌ʹߦ͏͜ͱᶇ
    νέοτۦಈ։ൃͷڧ੍Խ
    EFWMPQ
    CSPDDPMJ
    ϓϧϦΫΤετ
    ࣗಈڋ൱

    ϓϧϦΫΤετ

    View Slide

  63. ࠷ޙʹ

    View Slide

  64. ࠷ޙʹ
    • ϑϩʔͳͲӡ༻ΛܾΊΔ͜ͱ͕େࣄʂ
    • γεςϜԽͰ͖Δॴ͸ͲΜͲΜγεςϜԽ
    • ʮࣗ෼͕ؤுΒͳͯ͘΋Կͱ͔ͳΔʯ

    Λ࣮ݱ͠Α͏ʂ

    View Slide

  65. ࢀߟจݙ
    • Git-scm

    https://git-scm.com/
    • A successful Git branching model

    http://nvie.com/posts/a-successful-git-branching-model/
    • GitHub Flow ਤղ

    http://qiita.com/tbpgr/items/4ff76ef35c4ff0ec8314
    • git-flow cheatsheet

    http://danielkummer.github.io/git-flow-cheatsheet/index.ja_JP.html
    • Git͸͡ΊͷҰา

    http://www.slideshare.net/ihcomega/git-57454868
    • Ұٳ.comʹ͓͚ΔσϓϩΠϑϩʔͱࣗಈԽ

    https://speakerdeck.com/kensuketanaka/ikyu-deploy-flow
    • ֆͷ۩ͷචͷચ͍ํ

    https://educe-web.craypas.co.jp/index.php/m/contents_detail
    • "Luca, ϑΥʔε(force)Λ࢖͑”- Jenkins։ൃऀ͕̍ϲ݄෼ͷGitHubίϛοτΛফࣦ

    http://www.infoq.com/jp/news/2013/11/use-the-force

    View Slide