Slide 1

Slide 1 text

How people build software ! " ޮՌతͳGitϦϙδτϦར༻ͷखҾ͖ @pnsk

Slide 2

Slide 2 text

How people build software ! Introduction 2 ! Junko Suzuki Enterprise Support Engineer @ pnsk

Slide 3

Slide 3 text

How people build software ! GitHub 3 !

Slide 4

Slide 4 text

How people build software ! 4

Slide 5

Slide 5 text

How people build software ! 5 ίϛϡχέʔγϣϯ͸ΦϯϥΠϯ͕جຊ νϟοτ ϏσΦνϟοτ GitHub

Slide 6

Slide 6 text

How people build software ! 6 ఆظతʹΦϑϥΠϯͰू·Δػձ΋͋Δ

Slide 7

Slide 7 text

How people build software ! 7 https://github.com

Slide 8

Slide 8 text

How people build software ! 8

Slide 9

Slide 9 text

How people build software ! Enterprise Support Engineer 9 !

Slide 10

Slide 10 text

How people build software ! 10 Enterpriseϓϥϯ

Slide 11

Slide 11 text

How people build software ! 11 GitHub Enterprise Serverɹ: ΦϯϓϨϛε൛ GitHub Enterprise Cloudɹ : SaaS൛ GitHub Enterprise ΤϯυϢʔβ͔Β͸GitHub.comͱಉ͡ ؅ཧ໘͸Businessར༻ʹয఺

Slide 12

Slide 12 text

How people build software ! 12 GitHub EnterpriseͷςΫχΧϧαϙʔτΛ ͍ͯ͠Δͷ͕Enterprise Support Engineer

Slide 13

Slide 13 text

How people build software ! 13 • ΞδΞ • Ϥʔϩού • ΞϝϦΧ λΠϜκʔϯʹ෼͔ΕͯνʔϜ͕ߏ੒͞Ε͍ͯΔ

Slide 14

Slide 14 text

How people build software ! ޮ཰తͳGitϦϙδτϦར༻ ͷखҾ͖ 14 !

Slide 15

Slide 15 text

How people build software ! 15 GitϦϙδτϦ ༷ʑͳछྨͷϑΝΠϧΛόʔδϣϯ؅ཧͰ͖Δ .txt .rb .sql .png .gif

Slide 16

Slide 16 text

How people build software ! 16 GitΦϒδΣΫτ • “blob”: ϑΝΠϧͷ಺༰ • “tree” : σΟϨΫτϦͷ৘ใ • “commit” : ίϛοτͷ৘ใ • “tag” : λά৘ใ ѹॖͯ͠อଘ

Slide 17

Slide 17 text

How people build software ! 17 “blob”ΦϒδΣΫτ • ςΩετϑΝΠϧ͸ࠩ෼ • όΠφϦϑΝΠϧ͸શσʔλ ༰ྔઅ໿ͱޮ཰ͷόϥϯε

Slide 18

Slide 18 text

How people build software ! 18 ςΩετϑΝΠϧͷࠩ෼֨ೲ • PackfileͱΠϯσοΫεϑΝΠϧ ɹ→ git gc, git push, git fetch, etc.ɹ .pack .idx

Slide 19

Slide 19 text

How people build software ! 19 GitHubͰ؅ཧ͢ΔϑΝΠϧͷ͓͢͢Ί • σʔλϕʔεͷμϯϓϑΝΠϧ • ϩάϑΝΠϧ GitHubͰ؅ཧ͢ΔͷΛਪ঑͠ͳ͍΋ͷ • ਪ঑ϦϙδτϦαΠζ্ݶɿ1GB • ϑΝΠϧαΠζ্ݶɿ100MB

Slide 20

Slide 20 text

How people build software ! 20 ϦϙδτϦαΠζ΍ɺϑΝΠϧͷαΠζʹدͬͯ͸ɺ ύϑΥʔϚϯεʹӨڹΛٴ΅͢͜ͱ΋…

Slide 21

Slide 21 text

How people build software ! 21 ͲΜͳ໰୊͕͋ͬͯɺͲ͏ରॲ͢Ε͹͍͍ʁ

Slide 22

Slide 22 text

How people build software ! ύϑΥʔϚϯεͷ໰୊Λ Ҿ͖ى͜͢έʔε 22 !

Slide 23

Slide 23 text

How people build software ! 23 1ͭͷσΟϨΫτϦʹେྔͷϑΝΠϧ͕͋Δ৔߹

Slide 24

Slide 24 text

How people build software ! 24 ”tree”ΦϒδΣΫτɿσΟϨΫτϦͷ৘ใ “dir_a”σΟϨΫτϦͷதʹɺ”file_a”ͱ”file_b”͕͋Δ file_a file_b tree blob blob

Slide 25

Slide 25 text

How people build software ! 25 ”tree”ΦϒδΣΫτͷੜ੒ • ৽͘͠σΟϨΫτϦΛ࡞੒ͨ͠ͱ͖ • σΟϨΫτϦ഑ԼͷϑΝΠϧ͕มߋ͞Εͨͱ͖ ”tree”ΦϒδΣΫτɿσΟϨΫτϦͷ৘ใ

Slide 26

Slide 26 text

How people build software ! 26 file_aΛมߋͯ͠ΈΔ “dir_a”σΟϨΫτϦ tree: “42b7fbs” tree: “48c3474”

Slide 27

Slide 27 text

How people build software ! 27 tree: “48c3474” tree: “42b7fbs” σΟϨΫτϦͷதʹϑΝΠϧ͕େྔʹଘࡏ͢Δͱ ͦͷσΟϨΫτϦ഑ԼͷϑΝΠϧ͕มߋ͞ΕΔͨͼʹɺ େྔͳϑΝΠϧͷ৘ใ͕֨ೲ͞ΕͨtreeΦϒδΣΫτ͕࡞ΒΕΔ

Slide 28

Slide 28 text

How people build software ! 28 git push΍git fetchͳͲͷλΠϛϯάͰ 2ͭͷΦϒδΣΫτͷڞ௨෦෼Λݟ͚ͭͯPackϑΝΠϧΛ ੜ੒͢Δ(IO΍ϝϞϦͷফඅ) git fetch΍git push͕஗͘ͳΔ

Slide 29

Slide 29 text

How people build software ! 29 αϒσΟϨΫτϦΛ࡞ͬͯϑΝΠϧΛ෼͚Α͏

Slide 30

Slide 30 text

How people build software ! 30 େ͖ͳςΩετϑΝΠϧ͕͋Δ৔߹

Slide 31

Slide 31 text

How people build software ! 31 8fd1403 acbd4fb ྫɿେ͖ͳςΩετϑΝΠϧAΛ1ߦ͚ͩมߋ͢Δ 1ߦ௥Ճ େ͖ͳΦϒδΣΫτ͕ 2ͭͰ͖Δ git push΍git fetchͳͲͷλΠϛϯάͰ 2ͭͷΦϒδΣΫτͷڞ௨෦෼Λݟ͚ͭͯPackϑΝΠϧΛ ੜ੒͢Δ(IO΍ϝϞϦͷফඅ) git fetch΍git push͕஗͘ͳΔ

Slide 32

Slide 32 text

How people build software ! 32 όΠφϦϑΝΠϧͱͯ͠औΓѻ͏Α͏ʹ͢Δ “core.bigFileThreshold”ͷ஋Λௐ੔ (σϑΥϧτ 512MB) .gitattribute

Slide 33

Slide 33 text

How people build software ! 33 େ͖ͳόΠφϦϑΝΠϧ͕͋Δ৔߹

Slide 34

Slide 34 text

How people build software ! 34 όΠφϦϑΝΠϧ͸ɺશͯͷσʔλΛอ࣋͢ΔͨΊɺ ϦϙδτϦࣗମͷαΠζ͕େ͖͘ͳͬͯ͠·͏ GitHubࣗମͷύϑΥʔϚϯεʹ΋Өڹ!ʂ ಛʹΦϯϓϨ൛ͷGitHub Enterprise Server git clone͕஗͘ͳΔ େ͖ͳόΠφϦϑΝΠϧ

Slide 35

Slide 35 text

How people build software ! 35 Git LFSΛ࢖ͬͯɺେ͖ͳόΠφϦϑΝΠϧ͸ ϦϙδτϦͷ֎ʹஔ͜͏ https://github.com/git-lfs/git-lfs

Slide 36

Slide 36 text

How people build software ! 36 Git LFS όΠφϦϑΝΠϧ͸ผͷ৔ॴʹอଘͯ͠ɺ ୅ΘΓʹϙΠϯλϑΝΠϧΛόʔδϣϯ؅ཧ͢Δ࢓૊Έ খ͞ͳςΩετϑΝΠϧ ϙΠϯλϑΝΠϧ

Slide 37

Slide 37 text

How people build software ! 37 Git LFSͰϑΝΠϧΛτϥοΩϯά ͢Ͱʹίϛοτ͞Ε͍ͯΔϑΝΠϧΛLFSͰτϥοΩϯά ͪΐͬ͜ͱίϚϯυ঺հ

Slide 38

Slide 38 text

How people build software ! 38 ໰୊͕͋Γͦ͏ͳϑΝΠϧͷݟ͚ͭํ

Slide 39

Slide 39 text

How people build software ! 39 git lfs migrate info

Slide 40

Slide 40 text

How people build software ! 40 git-sizer https://github.com/github/git-sizer

Slide 41

Slide 41 text

How people build software ! 41