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

GitHubの良さ

9318744519d282ae40e352e6a1b79b2a?s=47 takashabe
December 11, 2014

 GitHubの良さ

http://connpass.com/event/10347/
で話した内容です。

9318744519d282ae40e352e6a1b79b2a?s=128

takashabe

December 11, 2014
Tweet

Transcript

  1. (JU)VCͷྑ͞ 5BLBTIJ"CF .ZOFU*OD  #mynet_tech

  2. ͓·͑ͩΕΑ !UBLBTIBCF ιγϟήͷ։ൃ΍ͬͯ·͢ (JU(JU)VCྺ೥͘Β͍ ۀ຿ྺ൒೥  ͚ͭ໙͕޷͖

  3. ͸͡Ίʹ ϓϩδΣΫτ֓ཁ ϒϥ΢βϕʔεͷιγϟή ܞΘͬͯ൒೥΄Ͳ ॳΊ͔Β(JU)VCͰӡ༻ ϦϦʔεʙXFFLMZ 1VMM3FRVFTUʙEBZ

  4. "HFOEB (JU)VCͷ؆୯ͳ঺հ (JU)VCͷྑ͞ ϨϏϡʔ λεΫ؅ཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹ΍ͬͨ͜ͱ ·ͱΊ

  5. (JU)VCͷ֓ཁ (JUͷϗεςΟϯάαʔϏε (JUͷϦϞʔτϦϙδτϦʹ͋ͨΔ αʔόΛ؅ཧ͢Δ͜ͱͳ͘தԝϦϙδτϦͷΑ͏ ʹ࢖ͬͨΓ͢Δ͜ͱ͕ग़དྷΔ (JU)VCಠࣗͷػೳ΋͋Δ

  6. (JU)VCಠࣗͷػೳ 1VMM3FRVFTU *TTVFT 8JLJͳͲʜ (JUͷඪ४ػೳΛ࢖͍΍͘͢ϥούͨ͠΋ͷ 1VMM3FRVFTUͳͲ (JUͷػೳͰ͸ͳ͍͕ɺ։ൃΛԁ׈ʹ͢Δ΋ͷ *TTVFT 8JLJͳͲ ͜ΕΒ͕(JU)VCΛ࢖͏ಈػͱͯ͠Ұ൪ڧ͍

  7. "HFOEB (JU)VCͷ؆୯ͳ঺հ (JU)VCͷྑ͞ ϨϏϡʔ λεΫ؅ཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹ΍ͬͨ͜ͱ ·ͱΊ

  8. ैདྷͷϨϏϡʔ ػೳ։ൃऴΘΓ·ͨ͠ɻ featureϒϥϯνͰpushͨ͠ͷ ͰϨϏϡʔ͓ئ͍͠·͢ɻ ྃղ͠·ͨ͠ɻ

  9. ैདྷͷϨϏϡʔ (λʔϛφϧ্Ͱ) git pull git diff master feature ͋ɺͪΐͬͱ͜͜Ϛζͦ͏

  10. ैདྷͷϨϏϡʔ ϨϏϡʔ͠·ͨ͠ɻ xxxͷϝιουͰyyy͕ߟྀ͞ Εͯͳͯ͘Ϡόͦ͏ɻ ྃղ͠·ͨ͠ɻ (xxxͬͯͲ͚ͩͬ͜…)

  11. ैདྷͷϨϏϡʔ νϟοτϕʔεͰϨϏϡʔ͕ਐΉ ΋͠νϟοτΛݟಀͯ͠͠·͏ͱʜ

  12. ैདྷͷϨϏϡʔ νϟοτϕʔεͰϨϏϡʔ͕ਐΉ ΋͠νϟοτΛݟಀͯ͠͠·͏ͱʜ ࡢ೔͓ئ͍͍ͯͨ͠ϨϏϡʔ ͷ݅Ͱ͕͢ɺਐḿͲ͏Ͱ͔͢ʁ

  13. ʊਓਓਓਓਓʊ ʼ ͭΒ͍ ʻ ʉ̮̮̮̮̮ʉ

  14. 1VMM3FRVFTUϕʔεͷϨϏϡʔ 1VMM3FRVFTUJTԿʁ ϩʔΧϧͷϦϙδτϦͰߦͬͨมߋΛɺଞͷϦϙ δτϦ΍ϒϥϯνʹऔΓࠐΜͰ΋Β͏ͨΊͷϦΫ ΤετΛग़͢ػೳͷ͜ͱ ϦΫΤετΛग़͞Εͨଆ͸ɺ1VMM3FRVFTUͷ಺༰ ͕ଥ౰͔Ͳ͏͔Λ֬ೝ্ͨ͠ͰϚʔδΛߦ͏͜ͱ ͕ग़དྷΔ

  15. 1VMM3FRVFTUϕʔεͷϨϏϡʔ diffର৅ͷϒϥϯν

  16. 1VMM3FRVFTUϕʔεͷϨϏϡʔ

  17. 1VMM3FRVFTUϕʔεͷϨϏϡʔ ίϝϯτʹର͢ΔϨε ҟͳΔ৔ॴ΁ͷίϝϯτ

  18. 1VMM3FRVFTUϕʔεͷϨϏϡʔ

  19. 1VMM3FRVFTUϕʔεͷϨϏϡʔ ϨϏϡΞʔ͸ͨͩૹΒΕͨ1VMM3FRVFTUΛݟΔ͚ͩͰϨϏϡʔ ͕ग़དྷΔ ίʔυߦ୯ҐͰίϝϯτΛॻ͚ΔͷͰɺͦͷίʔυʹର͢ Δٞ࿦͕΍Γ΍͍͢ 1VMM3FRVFTU಺Ͱ΍ΓऔΓ͕׬݁͢ΔͷͰٞ࿦͕ൃࢄ͠ͳ͍ ϨϏϡʔґཔͷνϟοτΛݟಀ͍ͯͯ͠΋ݱࡏग़͞Ε͍ͯΔ 1VMM3FRVFTU͕෼͔Δ

  20. %FNP

  21. 1VMM3FRVFTU࠷ߴʂʂʂ Կ͔໰୊Ͱ΋ʁ

  22. ໰୊఺ 1VMM3FRVFTUͷঢ়ଶ͕෼͔ΓͮΒ͍ ϨϏϡʔϚʔδՄೳͳ΋ͷ͔ ࡞ۀதͷ΋ͷϚʔδͯ͠͸͍͚ͳ͍ 1VMM3FRVFTUͰϨϏϡʔ͕ඇಉظʹߦ͑ΔΑ͏ʹ ͳͬͨɻ͔͠͠ঢ়ଶ͕෼͔Βͳ͍ͨΊʹ݁ہνϟο τݟಀ͢ͱͭΒ͍໰୊͸࢒ͬͨ··

  23. ࡢ೔͓ئ͍͍ͯͨ͠ϨϏϡʔ ͷ݅Ͱ͕͢ɺਐḿͲ͏Ͱ͔͢ʁ

  24. ରԠࡦ ϥϕϧͷಋೖ 8*11VMM3FRVFTUͷಋೖ

  25. ϥϕϧ 1VMM3FRVFTUͷঢ়ଶʹԠͯ͡ϥϕϧΛ෇͚Δ ϨϏϡʔґཔ ϨϏϡʔத ϨϏϡʔ׬ྃ Ϛʔδ ίϝϯτʙमਖ਼

  26. ϥϕϧͰϑΟϧλ

  27. 8*11VMM3FRVFTU 8*18PSL*O1SPHSFTTͷུ ࡞ۀதͰ͋Δ͜ͱΛλΠτϧʹ໌ه͢Δ ༨ஊɿλΠτϧʹ8*1ͱೖ͍ͬͯΔ1VMM3FRVFTU ͷϚʔδϘλϯΛԡͤͳ͘͢Δ$ISPNF֦ு͕͋ͬ ͨΓ͢Δ %P/PU.FSHF8*1GPS(JU)VC

  28. ϨϏϡʔ·ͱΊ 1VMM3FRVFTUͰͷϨϏϡʔ͸؆୯Ͱ࠷ߴ ϥϕϧͰ1VMM3FRVFTUͷঢ়ଶΛՄࢹԽͯ͠ϨϏϡʔ Λଅਐ͢Δঢ়ଶΛ࡞Δ

  29. "HFOEB (JU)VCͷ؆୯ͳ঺հ (JU)VCͷྑ͞ ϨϏϡʔ λεΫ؅ཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹ΍ͬͨ͜ͱ ·ͱΊ

  30. λεΫ؅ཧ ୅දతͳλεΫ νέοτ ؅ཧπʔϧ +*3" 3FENJOFͳͲ νέοτʹରͯ͠୲౰ऀɺঢ়ଶɺظݶɺίϝϯτͳͲΛ෇͚ͯ؅ ཧग़དྷΔ (JU)VCʹ΋*TTVFTͱ͍͏ػೳ͕͋Δ ͨͩ͠ઐ༻ͷπʔϧͱൺ΂Δͱػೳ͸ශऑ

  31. νέοτ؅ཧ༻πʔϧΛซ༻͢Δ৔߹ ։ൃϑϩʔ  νέοτ؅ཧπʔϧ νέοτΛ੾Δ  (JU)VC 1VMM3FRVFTUΛૹΔ  (JU)VC

    1VMM3FRVFTUͷϨϏϡʔϚʔδ  νέοτ؅ཧπʔϧ νέοτʹ1VMM3FRVFTUͷϦϯΫΛషͬ ͯΫϩʔζ ͭͷػೳ։ൃʹରͯ͠ෳ਺αʔϏεΛ·͕ͨͬͯͭΒͦ͏
  32. (JU)VC*TTVFTͷಛ௃ *TTVFTʹରͯ͠୲౰ऀɺঢ়ଶ ΦʔϓϯΫϩʔζͷ Έ ɺίϝϯτ͕෇͚ΒΕΔ ίʔυ 1VMM3FRVFTU ͱͷ࿈ܞָ͕ 1VMM3FRVFTUʹ*TTVFTͷϦϯΫΛషΔͱɺ*TTVFT ଆͰ΋ϦϯΫ͞Ε͍ͯΔࢫͷද͕ࣔ͞ΕΔͳͲ

  33. IssuesͷϦϯΫషΔ ϦϯΫݩͷPull Request͕දࣔ͞Εͨ

  34. *TTVFTͷ෺଍Γͳ͍఺ ୭͕ԿΛ΍͍ͬͯΔͷ͔೺Ѳͮ͠Β͍ ୲౰ऀ͸ܾΊΕΔ͕ɺঢ়ଶ͕ΦʔϓϯΫϩʔζ͠ ͔ͳ͍ͨΊɺணखத͔Ͳ͏͔Ұݟ෼͔Βͳ͍ ਐ௙͕෼͔ΓͮΒ͍ ༏ઌ౓͕෼͔ΓͮΒ͍

  35. ΑΖ͍͠ɺͳΒ͹Χϯόϯͩ

  36. *TTVFT Χϯόϯ λεΫ͸جຊతʹ*TTVFTʹॻ͘ ணख͢Δ΋ͷ͔Β౎౓Χϯόϯʹ෇ᝦΛష͍ͬͯ͘ Χϯόϯͷ͓͔͛Ͱ୭͕ԿΛ΍͍ͬͯΔ͔ɺਐ௙ ͕෼͔ΔΑ͏ʹ

  37. *TTVFT࠷ߴʂʂʂԿ͔໰୊Ͱ΋ʁ

  38. ໰୊఺ ෳ਺αʔϏε࢖͏ͷ͕ͭΒ͍͔Β*TTVFTʹͨ͠ͷʹ ݁ہߋ৽Օॴ͕ෳ਺͋Δ Χϯόϯʹ͚ͩ௥Ճ͞ΕΔλεΫ νϟοτ΍ޱ಄Ͱ௥Ճ͞ΕΔλεΫ ಉظ͕औΕͳ͘ͳ͍ͬͯ͘Χϯόϯͱ*TTVFT

  39. None
  40. ΋͏Ұ౓ߟ͑ͳ͓͢ *TTVFT͸ίʔυͱͷ࿈ܞָ͕ 1VMM3FRVFTU͸ඞͣ࢖͏ͷͰ(JU)VC্Ͱ׬݁͢Δͷ ͕๬·͍͠ ෳ਺ͷπʔϧΛ࢖͏ͱಉظΛऔΔͷ͕େม

  41. ΑΖ͍͠ɺͳΒ͹ΑΓపఈͨ͠*TTVFTۦಈͩ

  42. ͱʹ͔͘*TTVFTʹશͯͷλεΫΛೖΕΔ ୭Ͱ΋ɺͲΜͳ΋ͷͰ΋*TTVFTʹೖΕͯྑ͍ ͱ͸͍͑νϟοτ΍ޱ಄Ͱͷґཔ΋΋ͪΖΜൃੜ͢ Δ ෼͔Γ·ͨ͠ɻ Issues੾͓͍͍ͬͯͯͩ͘͞ɻ ࠷ۙͰ͸IssuesཱͯͨͷͰ͓ئ͍͠·͢ʔ ͱ͍͏ྲྀΕ͕ਁಁ͖ͯͨ͠

  43. શͯͷλεΫ͕*TTVFTͰ؅ཧ͞Εͨ ४උ͸੔ͬͨ

  44. *TTVFTʹ଍Γͳ͔ͬͨ΋ͷΛ੔ཧ͢Δ ୭͕ԿΛ΍͍ͬͯΔ͔ ਐ௙ λεΫͷ༏ઌ౓

  45. εΫϥϜͰղܾग़དྷͦ͏

  46. ΏΔ͍εΫϥϜͷಋೖ ಋೖͨ͠ϓϥΫςΟε͸εϓϦϯτͷΈ पؒͷεϓϦϯτ ϓϩμΫτΦʔφʔ ϓϩσϡʔαʔFUD ΛεϓϦϯτͰऔ Γ૊ΉλεΫΛܾΊΔ༏ઌ౓ εϓϦϯτͷର৅ͱͳͬͨ*TTVFTʹ͸εϓϦϯτϥϕϧΛ෇ ͚Δ୭͕ԿΛ΍͍ͬͯΔ͔ 8*1ϥϕϧΛ༻ҙͯ͠࡞ۀதͷ*TTVFTʹ෇͚ΔΑ͏ʹਐ௙

  47. ༨ஊɿ.JMFTUPOF *TTVFTɺ1VMM3FRVFTUʹ͸.JMFTUPOFΛઃఆ͢Δ͜ͱ͕ग़དྷΔ ৽ػೳ։ൃ΍ఆৗΠϕϯτͷ։ൃணख࣌ʹ.JMFTUPOFΛ੾Δ ։ൃʹؔ࿈͢Δ*TTVFTͱ1VMM3FRVFTUΛͦͷ.JMFTUPOFʹඥ ෇͚Δ͜ͱͰɺ.JMFTUPOF͔Β࡞ۀ಺༰Λ೺Ѳ͢Δ͜ͱ͕ग़ དྷΔ ޙͰݟฦͨ࣌͠ͷ࡞ۀϩάʹͳΔ νʔϜʹ৽͍͠ਓ͕ೖ͖ͬͯͨ࣌ʹ΋৺ڧ͍

  48. ϚΠϧετʔϯͰϑΟϧλ

  49. λεΫ؅ཧͷ·ͱΊ *TTVFTͰλεΫΛ؅ཧ͢Δ͜ͱͰίʔυͱͷ࿈ܞ͕ औΓ΍͘͢ͳͬͯศར *TTVFTͰ଍Γͳ͍఺͸ଞͷख๏΍πʔϧͰิ͏ඞཁ ͕͋Δ .JMFTUPOFΛద੾ʹӡ༻͢Ε͹ڧྗͳࢿ࢈ʹͳΔ

  50. "HFOEB (JU)VCͷ؆୯ͳ঺հ (JU)VCͷྑ͞ ϨϏϡʔ λεΫ؅ཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹ΍ͬͨ͜ͱ ·ͱΊ

  51. ଞπʔϧͱͷ࿈ܞ ͏ͪͷνʔϜͰ͸·ͩಋೖग़དྷͯͳ͍ͷͰ؆୯ͳ঺հ͚ͩ 8FCIPPL (JU)VCͰͷΠϕϯτൃՐΛଞαʔϏεʹ௨஌ ௨஌ઌͱͯ͠(JU)VC͔ΒΞΫηεՄೳͳ63-Λ༻ҙ͢Δඞཁ͕͋Δ Πϕϯτͷछྨ 1VMM3FRVFTUΛ࡞੒ͨ͠ɺϚʔδͨ͠ *TTVFTΛཱͯͨɺΫϩʔζͨ͠ͳͲͳͲʜ 4FSWJDF)PPL طଘͷαʔϏε޲͚ͷ8FCIPPLɺྫ͑͹+FOLJOTͷHJUIVCQMVHJO޲͚ʹ௨஌ΛૹΔɺͳͲͷ

    ઃఆΛߦ͏ࣄ͕ग़དྷΔ
  52. ࿈ܞྫ 1VMM3FRVFTUલʹςετΛճ͢  1VMM3FRVFTUΛ࡞੒͞Εͨ͜ͱΛ+FOLJOTʹ௨஌  +FOLJOTͰϏϧυ  Ϗϧυ݁ՌΛ1VMM3FRVFTUʹ൓ө $IBU0QT 4MBDL͔Β)VCPUܦ༝Ͱ1VMM3FRVFTUΛ࡞੒

  53. "HFOEB (JU)VCͷ؆୯ͳ঺հ (JU)VCͷྑ͞ ϨϏϡʔ λεΫ؅ཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹ΍ͬͨ͜ͱ ·ͱΊ

  54. (JU)VCಋೖ࣌ ϝϯόʔͷεΩϧηοτ ݸਓͰ͸(JU(JU)VCΛ࢖͍ͬͯͨ νʔϜ։ൃͰ(JUΛ࢖ͬͨ͜ͱ͸͋Δ͕(JU)VC͸ແ ͠ (JU(JU)VCڞʹͦΕ΄Ͳ࢖ͬͨ͜ͱ͕ͳ͍

  55. νʔϜ։ൃͰ(JU)VCΛ࢖ͬͨ͜ ͱ͕͋Δϝϯόʔ͸ډͳ͔ͬͨ

  56. (JU)VCʹ׳ΕΔͨΊʹ (JU)VCΒ͍͠։ൃϑϩʔͷపఈ طଘϓϩμΫτ͸TWOͰNBTUFSϒϥϯνຊӡ༻ͩͬ ͨ 1VMM3FRVFTUۦಈ։ൃͷపఈ HJUqPXΛϕʔεʹͨ͠ϒϥϯνઓུͷపఈ

  57. (JU)VCͰͷ։ൃͬͯ͜Μͳײ ͩ͡ͱ͍͏͜ͱΛਁಁͤ͞Δ

  58. (JU)VCʹ͍ͭͯͷࣾ಺ษڧձ΍νʔϜ.5( (JUࣗମ͸ෳࡶͳπʔϧͳͷͰඞཁͳػೳ͚ͩͭ·Έ৯͍͢ Δ ։ൃʹ͓͍ͯ࠷௿ݶඞཁͳϑϩʔΛυΩϡϝϯτԽͯ͠ڞ༗ ػೳ։ൃʙ1VMM3FRVFTUΛૹΔ·Ͱͷखॱ 2"؀ڥ΁ͷద༻खॱ HJUSFCBTFͱ͔HJUSFTFU͸࢖͑Ε͹ศར͚ͩͲඞਢͰ͸ͳ ͍

  59. ͜Μͳ࣌Ͳ͏͢Ε͹ྑ͍ͷʁͱ͍͏͜ͱΛฉ͚Δͷ௒େࣄ QVMMग़དྷͳ͍ʂ QVTIग़དྷͳ͍ʂ ίϯϑϦΫτͨ͠ʂ ৄ͍͠ਓ͕ਓ͍Δͱศར Ծʹৄ͍͠ਓ͕͍ͳͯ͘΋(JU)VCͷ৘ใ͸άάΕ͹͍ ͘ΒͰ΋͋Δ

  60. ͦΕͳΓʹ։ൃ͕ճΔΑ͏ ʹͳ͖ͬͯͨ

  61. ίϛοτཻ౓ 1VMM3FRVFTUཻ౓ ϥϕϧͷӡ༻

  62. νʔϜͷशख़౓ʹΑͬͯϑΥʔΧε ͢ΔϨΠϠΛม͑Δ

  63. ಋೖ࣌ͷ·ͱΊ ͱΓ͋͑ͣ1VMM3FRVFTUۦಈ։ൃͱHJUqPXͰ(JU)VC ͷ։ൃʹ׳Ε͍ͯ͘ ԿͰ΋ฉ͚Δਓ͕͍Δɺฉ͚Δงғؾ͸େࣄ νʔϜͷशख़౓ʹΑͬͯϑΥʔΧε͢ΔϨΠϠΛม͑ ͍ͯ͘

  64. "HFOEB (JU)VCͷ؆୯ͳ঺հ (JU)VCͷྑ͞ ϨϏϡʔ λεΫ؅ཧ ଞπʔϧͱͷ࿈ܞ ಋೖ࣌ʹ΍ͬͨ͜ͱ ·ͱΊ

  65. ·ͱΊ

  66. ϨϏϡʔ 1VMM3FRVFTUͷϨϏϡʔ͸࠷ߴ ϥϕϧͰ1VMM3FRVFTUͷঢ়ଶΛՄࢹԽͯ͠ϨϏϡʔ Λଅਐ͢Δঢ়ଶΛ࡞Δ

  67. λεΫ؅ཧ *TTVFT ΏΔ͍εΫϥϜ .JMFTUPOFΛ࢖ͬͯޙ͔Βݕࡧ͠΍͘͢

  68. ଞπʔϧͱͷ࿈ܞ ࣗಈԽΛଅਐ͢Δ༷ʑͳՄೳੑ͕޿͕Δ νʔϜͰ΋औΓೖΕ͍͖͍ͯͨʜʂ

  69. ಋೖ࣌ νʔϜͷशख़౓ʹ߹Θͤͯɺ·ͣ͸࠷௿ݶඞཁͳͱ ͜Ζ͔Β࢝ΊΔ

  70. 0OFNPSFUIJOHʜ

  71. (JU)VCΛಋೖ͢Ε͹શ͕ͯ ϋοϐʔʹͳΔΘ͚Ͱ͸ͳ͍

  72. (JU)VCΛಋೖͨ͜͠ͱʹΑΔ໰୊΋ग़ͯ͘Δ ৽͍͠΋ͷΛಋೖͯ͠໰୊͕ى͖ΔͱͦΕͷ͍ͤʹ͠ ͯ͠·͍͕ͪ ໰୊͕ى͖ͨΒ͖ͪΜͱ޲͖߹͍ରԠ͢Δ

  73. ࢥߟఀࢭͯ͠͸͍͚ͳ͍

  74. νʔϜͷशख़౓্͕͕Ε͹࠷దͳϑϩʔ΋มΘͬͯ ͍͘ (JU)VCΛϕʔεʹͯ͠ΑΓΑΓ։ൃϑϩʔ΁

  75. )BWFBRVFTUJPO