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

706ff501573a736401aa4de5adc88e05?s=128

nihonbuson

May 01, 2016
Tweet

Transcript

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

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

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

    • νέοτ؅ཧγεςϜΛར༻͍ͯ͠Δ ؤுͬͯʂ ࠓճͷର৅ऀ
  4. Gitͷ࢖͍ํ ʢ։ൃऀ໨ઢʣ https://goo.gl/XvWdkm

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

  6. GitͱGitHubͷҧ͍

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

  8. GitͷϝϦοτ

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

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

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

  12. ϝϦοτᶄ ϒϥϯνΛ؆୯ʹ෼͚ΒΕΔ • SVN
 ϦϙδτϦͷෳ੡͕ඞཁ • Git
 ੾Γସ͑Λߦ͏͚ͩ

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

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

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

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

  17. SVNʢൺֱͱͯ͠ʣ USVOL

  18. SVNʢൺֱͱͯ͠ʣ USVOL

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

  20. GitHubϑϩʔ NBTUFS

  21. GitHubϑϩʔ NBTUFS UPQJD

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

  23. GitHubϑϩʔ NBTUFS UPQJD

  24. GitHubϑϩʔ NBTUFS UPQJD

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

  26. GitHubϑϩʔ NBTUFS UPQJD

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

  28. GitHubϑϩʔ NBTUFS UPQJD UPQJD

  29. Gitϑϩʔ NBTUFS

  30. Gitϑϩʔ NBTUFS EFWMPQ

  31. Gitϑϩʔ NBTUFS EFWMPQ UPQJD

  32. Gitϑϩʔ NBTUFS EFWMPQ UPQJD

  33. Gitϑϩʔ NBTUFS EFWMPQ UPQJD

  34. Gitϑϩʔ NBTUFS EFWMPQ UPQJD

  35. Gitϑϩʔ NBTUFS EFWMPQ UPQJD SFMFBTF

  36. Gitϑϩʔ NBTUFS EFWMPQ UPQJD SFMFBTF

  37. Gitϑϩʔ NBTUFS EFWMPQ SFMFBTF IPUpY

  38. Gitϑϩʔ NBTUFS EFWMPQ SFMFBTF IPUpY

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

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

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

  42. ͪΐͬͱٳܜ

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

  44. ಘΒΕΔϝϦοτ

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

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

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

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

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

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

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

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

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

  54. େن໛ಋೖ࣌ʹߦ͏͜ͱᶅ protected branchΛ༻͍Δ • protected branchʹ͢Δ͜ͱͰɺ
 ޡͬͨϚʔδͳͲΛ๷͙ • topic branchҎ֎͸protected

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

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

    http://www.infoq.com/jp/news/2013/11/use-the-force
  57. େن໛ಋೖ࣌ʹߦ͏͜ͱᶆ ίϯύΠϧɺ੩తղੳͷಋೖ EFWMPQ UPQJD ϓϧϦΫΤετ $*αʔόʔ

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

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

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

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

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

  63. ࠷ޙʹ

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

  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