NaITE #13「Docker入門 &Git運用のコツ」( http://nagasaki-it-engineers.connpass.com/event/29925/ )の発表資料です。 この資料の補足内容は以下の記事に記載してます。 http://nihonbuson.hatenadiary.jp/entry/2016/05/02/150000
͕ࣗؤுΒͳͯ͘Կͱ͔ͳΔΑ͏ʹ͢ΔͨΊͷGitӡ༻ͷίπ@nihonbusonNaITE #13http://nagasaki-it-engineers.connpass.com/event/29925/
View Slide
͡Ίʹ…Ξϯέʔτ• GitͷίϚϯυΛΒͳ͍• GitͱGitHubͷҧ͍͕͔Βͳ͍• GitΛۀͰ͏߹ɺ15ਓҎ্͕ରऀʹͳΔ• ίϯύΠϧ͕͍࣌ؒ• νέοτཧγεςϜΛར༻͍ͯ͠Δ
͡Ίʹ…Ξϯέʔτ• GitͷίϚϯυΛΒͳ͍• GitͱGitHubͷҧ͍͕͔Βͳ͍• GitΛۀͰ͏߹ɺ15ਓҎ্͕ରऀʹͳΔ• ίϯύΠϧ͕͍࣌ؒ• νέοτཧγεςϜΛར༻͍ͯ͠Δؤுͬͯʂࠓճͷରऀ
Gitͷ͍ํʢ։ൃऀઢʣhttps://goo.gl/XvWdkm
Gitͷ͍ํʢ։ൃऀઢʣhttp://www.slideshare.net/ihcomega/git-57454868/49
GitͱGitHubͷҧ͍
GitͱGitHubͷҧ͍• GitHubͱGitΛͬͨWebαʔϏεͷҰͭ• ଞʹҎԼͷΑ͏ͳαʔϏε͕͋Δ• GitLab• Bitbucket
GitͷϝϦοτ
GitͷϝϦοτ• ϩʔΧϧͰίϛοτ͕ग़དྷΔ• ϒϥϯνΛ؆୯ʹ͚ΒΕΔ• ؆୯ʹϚʔδ͕Ͱ͖Δ
ϝϦοτᶃϩʔΧϧͰίϛοτ͕ग़དྷΔ• ࡞ۀͷ్தͰίϛοτ͕ग़དྷΔ• αʔόʔ͕མͪͯ։ൃΛߦ͏͜ͱ͕ग़དྷΔhttp://www.slideshare.net/ihcomega/git-57454868/49
ϝϦοτᶃϩʔΧϧͰίϛοτ͕ग़དྷΔ• ࡞ۀͷ్தͰίϛοτ͕ग़དྷΔ• αʔόʔ͕མͪͯ։ൃΛߦ͏͜ͱ͕ग़དྷΔ։ൃऀݸਓͷͳͷͰׂѪ
ϝϦοτᶄϒϥϯνΛ؆୯ʹ͚ΒΕΔ• SVN ϦϙδτϦͷෳ͕ඞཁ• Git Γସ͑Λߦ͏͚ͩ
ϝϦοτᶅ؆୯ʹϚʔδ͕Ͱ͖Δ• ϚʔδͷΈ͕SVNΑΓ༏ल• ϝιουΛՃˠSVNͩͱίϯϑϦΫτ
͜ΕΒʹΑΓಘΒΕΔϝϦοτ• ίʔυϨϏϡʔ͕͍͢͠• ࣗͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍• masterʢຊྲྀʣͷෆ۩߹͕গͳ͍ঢ়ଶʹ• ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ
͜ΕΒʹΑΓಘΒΕΔϝϦοτ• ίʔυϨϏϡʔ͕͍͢͠• ࣗͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍• masterʢຊྲྀʣͷෆ۩߹͕গͳ͍ঢ়ଶʹ• ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ͋ͱͰઆ໌ʂ
ϑϩʔͷհhttp://nvie.com/posts/a-successful-git-branching-model/
SVNʢൺֱͱͯ͠ʣUSVOL
SVNʢൺֱͱͯ͠ʣ• ϩʔΧϧͰ։ൃˠίϛοτͯ͠ऴྃ• ୯७ʂ• ͨͩɺෆ۩߹ͷࠞೖΛ͙Έແ͠
GitHubϑϩʔNBTUFS
GitHubϑϩʔNBTUFSUPQJD
GitHubϑϩʔNBTUFSUPQJDϒϥϯνΛ؆୯ʹ͚ΒΕΔ
GitHubϑϩʔNBTUFSUPQJD؆୯ʹϚʔδ͕Ͱ͖Δ
GitHubϑϩʔNBTUFSUPQJD UPQJD
GitϑϩʔNBTUFS
GitϑϩʔNBTUFSEFWMPQ
GitϑϩʔNBTUFSEFWMPQUPQJD
GitϑϩʔNBTUFSEFWMPQUPQJDSFMFBTF
GitϑϩʔNBTUFSEFWMPQ SFMFBTFIPUpY
։ൃऀ͕ؾʹ͢Δͷ…NBTUFSEFWMPQUPQJD
։ൃऀ͕ؾʹ͢Δͷ…NBTUFSEFWMPQUPQJDSFMFBTF
ϑϩʔ͋͘·ͰҰྫhttps://speakerdeck.com/kensuketanaka/ikyu-deploy-flow?slide=35
ͪΐͬͱٳܜ
ચ͍ਫɾ͗͢͢ਫɾ͚ਫֆͷ۩ͷචͷચ͍ํ1. ચ͍ਫͰચ͏2. ͗͢͢ਫͰ͙͢͢3. ৗʹ៉ྷͳ͚ਫͰ ਫΛؚ·ͤΔ
ಘΒΕΔϝϦοτ
ಘΒΕΔϝϦοτʢ࠶ܝʣ• ίʔυϨϏϡʔ͕͍͢͠• ࣗͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍• masterʢຊྲྀʣͷෆ۩߹͕গͳ͍ঢ়ଶʹ• ࣗવʹνέοτۦಈ։ൃ͕Ͱ͖Δ
ಘΒΕΔϝϦοτᶃίʔυϨϏϡʔ͕͍͢͠NBTUFSEFWMPQUPQJDϓϧϦΫΤετ
ಘΒΕΔϝϦοτᶄࣗͷϛε͕ଞਓʹӨڹΛ༩͑ͳ͍NBTUFSEFWMPQUPQJDϓϧϦΫΤετ
ಘΒΕΔϝϦοτᶅmasterͷෆ۩߹͕গͳ͍ঢ়ଶʹNBTUFSEFWMPQUPQJDSFMFBTF
ಘΒΕΔϝϦοτᶆࣗવʹνέοτۦಈ։ൃ͕Ͱ͖ΔNBTUFSEFWMPQ
େنͳಋೖΛ͢Δલʹߦ͏͜ͱɾܾΊ͓ͯ͘͜ͱhttp://business-peoples.com/material/041.jpg
େنಋೖ࣌ʹߦ͏͜ͱᶃϑϩʔΛܾΊ͓ͯ͘• Gitϑϩʔɹɹ →େنͳ߹ʹ࠷ద• Githubϑϩʔ →খنɺ͍αΠΫϧʹ࠷ద• ͦͷଞͷϑϩʔ →ࣗͷνʔϜʹ߹͏Α͏ʹ
େنಋೖ࣌ʹߦ͏͜ͱᶄϨϏϡΞʔΛܾΊ͓ͯ͘NBTUFSEFWMPQUPQJDϓϧϦΫΤετ
େنಋೖ࣌ʹߦ͏͜ͱᶄϨϏϡΞʔΛܾΊ͓ͯ͘• ϨϏϡΞʔ͕ϘτϧωοΫʹ• ϨϏϡΞʔͷ͕ॏཁ• ͓ޓ͍ʹϨϏϡʔͰ͖Δ৫ͳΒ࠷ߴ• ͦ͏Ͱͳ͍߹ɺग़དྷͯ1:4͙Β͍ʁ
େنಋೖ࣌ʹߦ͏͜ͱᶅprotected branchΛ༻͍Δ• protected branchʹ͢Δ͜ͱͰɺ ޡͬͨϚʔδͳͲΛ͙• topic branchҎ֎protected branchʹ͖͢NBTUFSEFWMPQUPQJD SFMFBTF IPUpY
େنಋೖ࣌ʹߦ͏͜ͱᶅprotected branchΛ༻͍ΔNBTUFSEFWMPQUPQJDࣗಈڋ൱
େنಋೖ࣌ʹߦ͏͜ͱᶅprotected branchΛ༻͍Δ• protected branchΛΘͳ͔ͬͨྫ"Luca, ϑΥʔε(force)Λ͑”- Jenkins։ൃऀ͕̍ϲ݄ͷGitHubίϛοτΛফࣦhttp://www.infoq.com/jp/news/2013/11/use-the-force
େنಋೖ࣌ʹߦ͏͜ͱᶆίϯύΠϧɺ੩తղੳͷಋೖEFWMPQUPQJDϓϧϦΫΤετ$*αʔόʔ
େنಋೖ࣌ʹߦ͏͜ͱᶆίϯύΠϧɺ੩తղੳͷಋೖEFWMPQUPQJDϓϧϦΫΤετ$*αʔόʔίϯύΠϧ࣮ߦIPPL
େنಋೖ࣌ʹߦ͏͜ͱᶆίϯύΠϧɺ੩తղੳͷಋೖEFWMPQUPQJDϓϧϦΫΤετ$*αʔόʔίϯύΠϧ࣮ߦIPPL݁Ռ௨
େنಋೖ࣌ʹߦ͏͜ͱᶆίϯύΠϧɺ੩తղੳͷಋೖEFWMPQUPQJDϓϧϦΫΤετ$*αʔόʔίϯύΠϧ࣮ߦIPPL݁Ռ௨ࣗಈڋ൱
େنಋೖ࣌ʹߦ͏͜ͱᶇνέοτۦಈ։ൃͷڧ੍Խࣗͷ໊લΛtopic branch໊ʹ (Git͋Δ͋Δ)NBTUFSEFWMPQCSPDDPMJ
େنಋೖ࣌ʹߦ͏͜ͱᶇνέοτۦಈ։ൃͷڧ੍ԽEFWMPQCSPDDPMJϓϧϦΫΤετࣗಈڋ൱ϓϧϦΫΤετ
࠷ޙʹ
࠷ޙʹ• ϑϩʔͳͲӡ༻ΛܾΊΔ͜ͱ͕େࣄʂ• γεςϜԽͰ͖ΔॴͲΜͲΜγεςϜԽ• ʮ͕ࣗؤுΒͳͯ͘Կͱ͔ͳΔʯ Λ࣮ݱ͠Α͏ʂ
ࢀߟจݙ• 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