Slide 1

Slide 1 text

͸ͯͳϒϩάνʔϜͷ ։ൃϑϩʔͱGitHub 2014/06/01 GitHub Kaigi גࣜձࣾ͸ͯͳ @shiba_yu36

Slide 2

Slide 2 text

@shiba_yu36 ͸ͯͳϒϩά גࣜձࣾ͸ͯͳ

Slide 3

Slide 3 text

ࠓ೔ͷ࿩ ͸ͯͳϒϩάνʔϜʹ͍ͭͯ ։ൃϑϩʔͷ՝୊ͱͦͷղܾ

Slide 4

Slide 4 text

͸ͯͳϒϩάνʔϜ

Slide 5

Slide 5 text

͸ͯͳϒϩά http://hatenablog.com/

Slide 6

Slide 6 text

5 engineers 2 designers

Slide 7

Slide 7 text

170 pull requests 1,281 commits per month

Slide 8

Slide 8 text

45 releases per month

Slide 9

Slide 9 text

PO

Slide 10

Slide 10 text

։ൃ଎౓Λอ͍ͯͯΔ

Slide 11

Slide 11 text

։ൃϑϩʔͷ໰୊ൃੜ ։ൃϑϩʔͷվળ on GHE

Slide 12

Slide 12 text

λεΫ؅ཧ ϨϏϡʔ ϦϦʔε

Slide 13

Slide 13 text

ϒϩάνʔϜͰͷ ։ൃͷྲྀΕ

Slide 14

Slide 14 text

։ൃͷྲྀΕ • issueΛొ࿥ɾΞαΠϯ • issueʹରԠ͢Δbranch࡞੒ • ։ൃɾϨϏϡʔɾmerge • merge͕ཷ·ͬͨΒϦϦʔε

Slide 15

Slide 15 text

wNBTUFS wຊ൪ͱಉҰ wEFWFMPQ w։ൃCSBODIɻϦϦʔεՄೳͳ ΋ͷ͸NFSHF wGFBUVSFCSBODI wػೳ͝ͱͷ։ൃϒϥϯν ϒϥϯνӡ༻

Slide 16

Slide 16 text

ϒϥϯνӡ༻ NBTUFS EFWFMPQ GFBUVSFCSBODI GFBUVSFCSBODI SFMFBTF

Slide 17

Slide 17 text

ϒϥϯνӡ༻ NBTUFS EFWFMPQ GFBUVSFCSBODI GFBUVSFCSBODI SFMFBTF HJUqPXͷ؆қ൛

Slide 18

Slide 18 text

λεΫ؅ཧ ϨϏϡʔ ϦϦʔε

Slide 19

Slide 19 text

GitHubͱ λεΫ؅ཧ

Slide 20

Slide 20 text

ҎલͷλεΫ؅ཧ ϝΠϯͷ࣌୅ IssuesͷΈͷ࣌୅ 1. 2.

Slide 21

Slide 21 text

ϝΠϯͷ࣌୅

Slide 22

Slide 22 text

RedmineϝΠϯ • λεΫ͸RedmineͰ • ίʔυϨϏϡʔ͸GitHubͰ

Slide 23

Slide 23 text

Pull Request

Slide 24

Slide 24 text

Pull Request ։ൃऀ͕྆πʔϧݟΔඞཁ͕͋Δ ίʔυͱͷ࿈ܞ΋ศརͰͳ͍

Slide 25

Slide 25 text

։ൃऀͷޮ཰্͕͕Βͳ͍

Slide 26

Slide 26 text

πʔϧΛҰͭʹ Issuesͱίʔυͷ࿈ܞ

Slide 27

Slide 27 text

πʔϧΛҰͭʹ Issuesͱίʔυͷ࿈ܞ IssuesͷΈͷ࣌୅

Slide 28

Slide 28 text

IssuesϝΠϯ • λεΫ؅ཧ͸IssuesͷΈ • ίʔυϨϏϡʔ͸Pull Request

Slide 29

Slide 29 text

։ൃऀͷݟΔπʔϧ͕ݮΔ ίʔυͱͷ࿈ܞ͕ศར ։ൃऀͷޮ཰Ξοϓ

Slide 30

Slide 30 text

a few months later…

Slide 31

Slide 31 text

໰୊ൃੜ!!

Slide 32

Slide 32 text

νʔϜͷॏཁͳ΋ͷԿ? ໰୊ͦͷ1

Slide 33

Slide 33 text

νʔϜͷॏཁͳ΋ͷԿ? ໰୊ͦͷ1 Issuesʹ͸༏ઌ౓ɾకΊ੾Γ ͷ࢓૊Έগͳ͍

Slide 34

Slide 34 text

ࠓ୭͕ԿΛ΍ͬͯΔͷ? ໰୊ͦͷ2

Slide 35

Slide 35 text

ࠓ୭͕ԿΛ΍ͬͯΔͷ? ໰୊ͦͷ2 IssuesͰ͸ਐߦதͷλεΫΛ ၆ᛌͰ͖ͳ͍

Slide 36

Slide 36 text

։ൃऀͷޮ཰͸ྑ͍ ! Ϛωʔδϟ͕νʔϜͷ ၆ᛌΛग़དྷͳ͍

Slide 37

Slide 37 text

IssuesϝΠϯʹ։ൃऀޮ཰͸อͭ νʔϜͷॏཁͳ΋ͷ ਐߦத͚ͩ͸ଞͰαϙʔτ +

Slide 38

Slide 38 text

IssuesϝΠϯʹ։ൃऀޮ཰͸อͭ νʔϜͷॏཁͳ΋ͷ ਐߦத͚ͩ͸ଞͰαϙʔτ + ΧϯόϯͰิॿ

Slide 39

Slide 39 text

x Χϯόϯ

Slide 40

Slide 40 text

Issuesͷ໾ׂ • શͯͷλεΫ͸͜͜ʹೖͬͯΔ • ୭Ͱ΋͜͜ʹ͸௥Ճ͍͍ͯ͠ • ௥Ճ͞ΕͨλεΫ͸ຖேݕ౼

Slide 41

Slide 41 text

Χϯόϯͷ໾ׂ • IssuesͷதͰॏཁͳ΋ͷ͚ͩɹɹ Ϛωʔδϟ͕બ୒ • ॏཁͳ΋ͷ͔͠௥Ճ͠ͳ͍ • ேձͰ͔͠ݟͳ͍

Slide 42

Slide 42 text

Χϯόϯ͸ೋຕ • ॏཁͳ΋ͷλεΫϦετ • ॏཁͳ΋ͷਐḿ

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

ॏཁͳ΋ͷ͚ͩϚωʔδϟ͕෇ᝦ௥Ճ

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

0%~100% ਓ

Slide 47

Slide 47 text

։ൃऀ ॏཁ • Ϛωʔδϟ • ேձ

Slide 48

Slide 48 text

։ൃऀ͸ேձҎ֎͸ GitHub͚ͩ Ϛωʔδϟ͸ॏཁͳ΋ͷ͚ͩ ϗϫΠτϘʔυͰঢ়گ೺Ѳ

Slide 49

Slide 49 text

ॏཁͳ΋ͷ͸೺Ѳͭͭ͠ ։ൃऀޮ཰ͷྑ͍؅ཧʹ

Slide 50

Slide 50 text

GitHubͱλεΫ؅ཧ • ։ൃऀʹͱͬͯҰ൪ޮ཰ͷྑ͍ɹɹ IssuesΛϝΠϯ • ϗϫΠτϘʔυͰॏཁͳ΋ͷΛ؅ཧ • εΫϥϜ·Ͱ͍͔ͳ͍ΏΔ͍λεΫ ؅ཧ

Slide 51

Slide 51 text

λεΫ؅ཧ ϨϏϡʔ ϦϦʔε

Slide 52

Slide 52 text

GitHubͱ ϨϏϡʔ

Slide 53

Slide 53 text

ҎલͷϨϏϡʔͷྲྀΕ

Slide 54

Slide 54 text

@hitode909 PR͠·ͨ͠ ϨϏϡʔΑΖ͓͘͠ئ͍͠·͢ ͸͍΍Γ·͢

Slide 55

Slide 55 text

@hitode909 PR͠·ͨ͠ ϨϏϡʔΑΖ͓͘͠ئ͍͠·͢ ͸͍΍Γ·͢ ݸผʹ͓ئ͍

Slide 56

Slide 56 text

ͳΜ͔ϨϏϡʔ͠Α͏ Pull Request͔Β ͦΕͬΆ͍΍ͭ୳ͯ͠ϨϏϡʔ

Slide 57

Slide 57 text

ͳΜ͔ϨϏϡʔ͠Α͏ Pull Request͔Β ͦΕͬΆ͍΍ͭ୳ͯ͠ϨϏϡʔ Pull Request͔Β୳͢

Slide 58

Slide 58 text

ී௨ͷPRϨϏϡʔ

Slide 59

Slide 59 text

໰୊ൃੜ!!

Slide 60

Slide 60 text

໰୊ͦͷ1 Pull Requestͷঢ়ଶ͕෼͔Βͳ͍! (ͷͰϨϏϡʔΛͨΊΒ͏) • ϨϏϡʔґཔத? • ϨϏϡʔҰ౓ͯ͠मਖ਼த? • ϨϏϡʔ΋͏ऴΘͬͯΔ?

Slide 61

Slide 61 text

໰୊ͦͷ2 ϨϏϡʔ͕ফԽ͞Εͣ! Pull Request͕͍͢͝ྔʹ 37݅…

Slide 62

Slide 62 text

໰୊ͦͷ3 ϕςϥϯ͚͕ͩͻͨ͢Β! ϨϏϡʔ͠ଓ͚Δ͸Ίʹ

Slide 63

Slide 63 text

GitHubͷ ϨϏϡʔπʔϧ͸࠷ߴ ! ͔͠͠ଅਐ͸গͳ͍

Slide 64

Slide 64 text

ղܾҊ • ϨϏϡʔঢ়ଶΛ͸͖ͬΓ • ϨϏϡʔґཔҰཡΛ෼͔Γ΍͘͢ • ΈΜͳͰϨϏϡʔ͢Δงғؾ࡞Γ

Slide 65

Slide 65 text

ϨϏϡʔঢ়ଶϥϕϧ ϨϏϡʔλΠϜ

Slide 66

Slide 66 text

ϨϏϡʔঢ়ଶϥϕϧ ϨϏϡʔঢ়ଶΛ͸͖ͬΓ ϨϏϡʔґཔҰཡ෼͔Γ΍͘͢

Slide 67

Slide 67 text

ϨϏϡʔঢ়ଶϥϕϧ • Pull RequestʹϥϕϧΛ • ࠓͷϨϏϡʔঢ়ଶΛ෼͔Γ΍ ͘͢

Slide 68

Slide 68 text

࠶ϨϏϡʔ ґཔ WIP Pull Request

Slide 69

Slide 69 text

ϨϏϡʔґཔҰཡΛݟͨΒ ࠓϨϏϡʔ͢΂͖΋ͷ͕෼͔Δ

Slide 70

Slide 70 text

ࣗ෼ͷΞαΠϯ͔Β ϨϏϡʔ׬ྃ΋ݟ΍͘͢

Slide 71

Slide 71 text

https://github.com/shimobayashi/pull-req-label QVMMSFRMBCFM

Slide 72

Slide 72 text

ϨϏϡʔλΠϜ ΈΜͳͰϨϏϡʔ͢Δงғؾ࡞Γ

Slide 73

Slide 73 text

ϨϏϡʔλΠϜ • ຖ೔ϥϯνޙ14:00ʙ • ʮϨϏϡʔґཔʯϥϕϧλεΫΛ ยͬ୺͔ΒΈΜͳͰݟΔ

Slide 74

Slide 74 text

ϨϏϡʔλΠϜ͸ IRCʹ௨஌ 14:01 ikachan01 : Ξο 14:01 ikachan03 : ϨϏϡʔλΠϜ͡ΌΜ 14:01 ikachan02 : ϫʔΦʂ ϨϏϡʔґཔ ͕9݅΋͋ΔΑʂ ࠓ͙͢νΣοΫνΣοΫʙ http:// **** > cockscomb funnelbit hitode909 shibayu36 ntakanashi

Slide 75

Slide 75 text

No content

Slide 76

Slide 76 text

ϨϏϡʔͷ͖͔͚͕ͬग़དྷͯ ຖ೔ΈΜͳͰ ϨϏϡʔ͢ΔΑ͏ʹ

Slide 77

Slide 77 text

GitHubͱϨϏϡʔ • PR͚ͩͩͱϨϏϡʔͷଅਐ͕͏· ͘ߦ͔ͳ͔ͬͨ • ϨϏϡʔϥϕϧɾϨϏϡʔλΠϜ ͰɺΈΜͳͰϨϏϡʔ͢Δงғؾ ʹ

Slide 78

Slide 78 text

λεΫ؅ཧ ϨϏϡʔ ϦϦʔε

Slide 79

Slide 79 text

GitHubͱ ϦϦʔε

Slide 80

Slide 80 text

ϦϦʔεͷྲྀΕ Pull Request͕ͲΜͲΜmerge͞ΕΔ Ͳ͔͜ͰϦϦʔε

Slide 81

Slide 81 text

σϓϩΠࣗମ͸ ίϚϯυҰൃʹ͍ͯͨ͠

Slide 82

Slide 82 text

σϓϩΠ࡞ۀͦͷ΋ͷҎ֎ʹ ϦϦʔεʹඞཁͳ΋ͷ͕͋Δ @onishi ͜ͷϦϦʔεΛ ͯ͠΋ྑ͍Ͱ͔͢ ϦϦʔεલʹݕূ؀ڥͰ ࠷ऴ֬ೝ͠·͠ΐ͏

Slide 83

Slide 83 text

ϦϦʔεͷྲྀΕ 1. ϚωʔδϟʹϦϦʔεͯ͠Α͍͔ ֬ೝ 2. ΈΜͳͰݕূ؀ڥͰ࠷ऴ֬ೝ 3. σϓϩΠίϚϯυͰσϓϩΠ!

Slide 84

Slide 84 text

શ෦ࣗಈԽ͖͠Εͳ͍

Slide 85

Slide 85 text

໰୊ൃੜ!!

Slide 86

Slide 86 text

໰୊ͦͷ1 Ϛωʔδϟ֬ೝͤͣʹ! ϦϦʔεͯ͠͠·ͬͨ

Slide 87

Slide 87 text

໰୊ͦͷ1 Ϛωʔδϟ֬ೝͤͣʹ! ϦϦʔεͯ͠͠·ͬͨ ࣗಈԽ͖͠Εͳ͍खॱͰͷϛε

Slide 88

Slide 88 text

໰୊ͦͷ2 ࣗಈԽ͖͠Εͳ͍෦෼Λ! ڭ͑ͳ͍ͱ৽ਓ͕ϦϦʔεͰ͖ͳ͍

Slide 89

Slide 89 text

σϓϩΠͦͷ΋ͷҎ֎Λ ্ख͘αϙʔτͰ͖ͳ͍͔

Slide 90

Slide 90 text

σϓϩΠͦͷ΋ͷҎ֎Λ ্ख͘αϙʔτͰ͖ͳ͍͔ ϦϦʔε༻Pull Requestʹ खॱॻΛ·ͱΊΔ

Slide 91

Slide 91 text

ϦϦʔε༻Pull Request • develop͔Βmaster΁ͷPRΛɹɹɹ ϦϦʔεखॱαϙʔτπʔϧʹ͢Δ ͜Ε

Slide 92

Slide 92 text

No content

Slide 93

Slide 93 text

λΠτϧʹ֓ཁ ·ͱ·Δ

Slide 94

Slide 94 text

ϦϦʔε͞ΕΔϦετΛूΊΔ

Slide 95

Slide 95 text

֬ೝ͢Δ߲໨͕ νΣοΫϘοΫεͰ·ͱ·Δ

Slide 96

Slide 96 text

ϦϦʔεલݕূ؀ڥͰ ֬ೝ͢Δ΋ͷ΋·ͱ·Δ

Slide 97

Slide 97 text

ίϚϯυҰൃͰ શࣗಈ࡞੒

Slide 98

Slide 98 text

͋ͱ͸͜ΕΛ࢖ͬͯ ϦϦʔε࡞ۀΛߦ͏

Slide 99

Slide 99 text

֬ೝͯ͠ νΣοΫ

Slide 100

Slide 100 text

ΈΜͳͰνΣοΫ

Slide 101

Slide 101 text

શνΣοΫͯ͠ ϦϦʔε!!

Slide 102

Slide 102 text

ϦϦʔεϛε͕ݮΓ ୭Ͱ΋ϦϦʔεͰ͖ΔΑ͏ʹ

Slide 103

Slide 103 text

HJUQSSFMFBTF https://github.com/motemen/git-pr-release • ϦϦʔε଴ͪͷissueΛूΊΔ • ಠࣗʹ࡞ۀखॱॻͷςϯϓϨʔτΛ࡞ΕΔ

Slide 104

Slide 104 text

GitHubͱϦϦʔε • σϓϩΠ͸ग़དྷΔ͚ͩࣗಈԽ • શ෦ࣗಈԽ͸೉͍͠ • Pull RequestΛ͏·͘࢖͍ɺ࡞ۀ खॱͰαϙʔτ

Slide 105

Slide 105 text

·ͱΊ

Slide 106

Slide 106 text

λεΫ؅ཧ ϨϏϡʔ ϦϦʔε Issues x Χϯόϯ ϨϏϡʔϥϕϧ ϨϏϡʔλΠϜ ϦϦʔεPR git-pr-release

Slide 107

Slide 107 text

• GitHubΛϝΠϯʹ࠷େݶ׆༻ • ͍ΖΜͳ໰୊ => ͦͷͨͼղܾ๏ Λݕ౼ • ͪΐͬͱͨ͠޻෉

Slide 108

Slide 108 text

ϫʔΫϑϩʔ͸ վળ͠ଓ͚Δ͜ͱ͕େࣄ

Slide 109

Slide 109 text

13

Slide 110

Slide 110 text

͸ͯͳΠϯλʔϯ wࣾһͱಉ͡։ൃϑϩʔΛܦݧͰ͖·͢ wֶੜͷํͥͻ http://developer.hatenastaff.com/ entry/2014/05/23/145719

Slide 111

Slide 111 text

No content