Slide 1

Slide 1 text

ϑΝΠϧΛ࡞Βͣ(JU ʹ$PNNJU 5BLFSV)BZBTBLB !UBLFNJP*0 ʢλΨϠεͦͷ̓ʣ 1

Slide 2

Slide 2 text

ࣄલௐࠪ

Slide 3

Slide 3 text

(JU࢖ͬͨ͜ͱ͋Δਓ ڍखʂ

Slide 4

Slide 4 text

(JUͷϓϩڍखʂ

Slide 5

Slide 5 text

ϓϩͷํ͸෼ͪΐͬͱͷ ٳܜʹͳΓ·͢ɾɾɾ

Slide 6

Slide 6 text

๻͸ϓϩ͡Όͳ͍ͷͰؒҧ ͑ͨΒ͝ΊΜͳ͍͞ʼʻ

Slide 7

Slide 7 text

XIPBNJ w ͸΍͔͚ͨ͞Δ !UBLFNJP*0 w ౦๺ֶӃେֶ޻ֶ෦೥ w ΠϯϑΟχοτϧʔϓͰΞϧόΠτΛͯ͠Δ w TFNBOUJDTJOGPTFDOFUXPSLʹڵຯ͕͋Γ·͢ w དྷ݄஀ੜ೔ ͰͳͷͰਓੜͷઌഐํ֤Ґʹ͓͖·͠ ͯ͸ඒຯ͍͓͠ञͷҿΈ͔ͨΛืूͯ͠·͢

Slide 8

Slide 8 text

ΠϯϑΟχοτϧʔϓઋ୆Ͱ͸(JU͕ ࢖͑ΔֶੜΞϧόΠτΛืूͯ͠·͢ $.

Slide 9

Slide 9 text

ۙگ

Slide 10

Slide 10 text

(JU$IBMMFOHF ͰҐʹͳͬͨ

Slide 11

Slide 11 text

(JU$IBMMFOHFͱ͸ʁ w NJYJ͕ओ࠵ͯ͠Δ(JUʹؔ͢ΔίϯςετɽֶੜΦϯϦʔ w HJUϦϙδτϦʹઃ͚ͨ೉୊ΛνʔϜϫʔΫͰղܾ͍ͯ͠ ͘ڝٕܕͷٕज़Πϕϯτ w ҰԠશࠃ͔ΒॻྨநબͰબ͹ΕͨਓͷΈ͕ࢀՃͰ͖ΔΠ ϕϯτɽ

Slide 12

Slide 12 text

ڝٕ؀ڥ w ೉қ౓͕̍d·Ͱ͋ΓɼϖΞͰߦ͏νʔϜઓͩͬͨ w νʔϜ͸ͦͷ৔Ͱ૊·͞Εͨॳର໘ͷਓ w ͱΓ͋͑ͣ΢ΥʔϜΞοϓ͕ͯΒ೉қ౓ͷ໰୊͔Β ղ͍͍ͯͬͨɽ w ղ͍ͨΒHJUIVCʹQVTI w $*ϕʔεͰ໰୊ΛΦʔτδϟονͯ͠Δ

Slide 13

Slide 13 text

໰୊ྫʢงғؾʣ w ίϯϑϦΫτΛ௚ͨ͠Γ w ഁଛͨ͠ϑΝΠϧΛम෮ͨ͠ΓɾɾɾͳͲ w ৄ͘͠͸ެ։৘ใͰ͸ͳ͍ͷͰݴ͑ͳ͍ͷͰ͝ΊΜͳ ͍͞ʼʻ

Slide 14

Slide 14 text

େձͷงғؾ w ϖΞͰղ͍ͯΔͷͰNBTUFSʹQVTIGΛ͕ͪ͠

Slide 15

Slide 15 text

େձͷงғؾ w ͓ޓ͍໰୊ղ͖ऴΘͬͨͱࢥͬͯΔ

Slide 16

Slide 16 text

݁Ռ

Slide 17

Slide 17 text

ޙ೔ஊ wޙ೔͋ΔϦϙδτϦͰʮ13ͷαΠζσΧΠʯͱ ΩϨΒΕͨ wීஈ࢖Θͳ͍೴Έͦ࢖ͬͨͷͰઋ୆Ӻ৐Γա͝͠ ͯ੝ԬͰҰധͯ࢝͠ൃͰେֶʹΤΫετϦʔϜొ ߍΛ͢Δ͜ͱʹͳͬͨ

Slide 18

Slide 18 text

ຊ୊

Slide 19

Slide 19 text

ϑΝΠϧΛ࡞Βͣ(JUʹ $PNNJU

Slide 20

Slide 20 text

Ͱ͖ΔΜͰ͢✊

Slide 21

Slide 21 text

(JU0CKFDU w HJUJOJUΛͯ͠IPHF͢Δͱੜ·ΕΔHJUPCKFDUTͷதͷ࿩ w CMPC w ϑΝΠϧσʔλΛදݱͯ͠Δ w 5SFF w ϑΥϧμߏ଄Λදݱͯ͠Δ w $PNNJU w USFF΁ͷࢀরͱίϛοτϢʔβʔͱλΠϜελοϓͷදݱ

Slide 22

Slide 22 text

$PNNJUͷ࡞ΒΕํ wίϛοτͱ͍͏ͷ͸zCMPCzͱ͍͏σʔλ͕zUSFFz ʹඥ͍ͮͯΔ w$PNNJUPCKFDU͕USFFಉ࢜ͷίωΫγϣϯΛҙຯ ͯ͠Δ

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

CMPCͱUSFFͷؔ܎ਤ

Slide 25

Slide 25 text

$PNNJUͱUSFFͷؔ܎ਤ

Slide 26

Slide 26 text

࣮ࡍʹ΍ͬͯݟͨ

Slide 27

Slide 27 text

w ϑΝΠϧΛ࡞Δ w HJUJOJU͢Δ w 0CKFDUͷத͸QBDL JOGPͷΈ͕ݱஈ֊ʹ͸ଘࡏͯ͠Δ $mkdir fugafuga $cd fugafuga/ $git init > Initialized empty Git repository in fugafuga/.git/ find .git/objects/ > .git/objects/ > .git/objects//pack > .git/objects//info

Slide 28

Slide 28 text

w HJUIBTIPCKFDUʹύΠϓͯ͠DSFBUFEBUB w PCKFDU*%Λܭࢉͯ͠ϑΝΠϧ͔ΒCMPCΛ࡞੒͢ΔίϚϯυ w HJUDBUpMFͰνΣοΫɽ͔֬ʹग़དྷͯΔ $ echo 'create data' | git hash-object -w --stdin > 070f3bd01632c945394b3aac7187a9d91ca4816a $ ls $ git cat-file -p 070f > create data

Slide 29

Slide 29 text

w HJUVQEBUFJOEFY w XPSLJOHUSFFͷϑΝΠϧΛJOEFYʹొ࿥͢Δ w ͸DINPEͱಉ͡ײ͡ w UFTUUYUͱ͍͏ՍۭͷσʔλΛೖΕͯΔʢଘࡏͯ͠ͳ͍ʣ git update-index --add --cacheinfo 100644 070f3bd01632c945394b3aac7187a9d91ca4816a test.txt

Slide 30

Slide 30 text

w HJUXSJUFUSFFΛ࢖͏ w 4UBHFJOHΤϦΞΛUSFFPCKFDUʹॻ͖ग़͢͜ͱ͕Ͱ͖Δ w ·ͩUSFF͕ͳ͍ͱ͖ʹࣗಈͰJOEFY͔ΒUSFFPCKFDUΛ࡞Δ w HJUDBUpMFͰνΣοΫɽ͔֬ʹग़དྷͯΔ $ git write-tree > c47b19c8b7a3b7724138f73e4cd53efa0f1e9595 $ git cat-file -p c47b > 100644 blob 070f3bd01632c945394b3aac7187a9d91ca4816a test.txt

Slide 31

Slide 31 text

w DPNNJUUSFFʹύΠϓͯ͠pSTUDPNNJU w $PNNJUΛ࡞ΔίϚϯυ w HJUDBUpMFͰνΣοΫɽ͔֬ʹग़དྷͯΔ $ echo 'first commit' | git commit-tree c47b > 9ee76e488f2882f12e5fb15d8016e80946ff48dd $ git cat-file -p 9ee76e488f2882f12e5fb15d8016e80946ff48dd > tree c47b19c8b7a3b7724138f73e4cd53efa0f1e9595 > author TakeruHayasaka 1538081510 +0900 > committer TakeruHayasaka 1538081510 +0900 > first commit

Slide 32

Slide 32 text

·ͱΊ w ίϛοτͱ͍͏ͷ͸zCMPCzͱ͍͏σʔλ͕zUSFFzʹඥ͍ͮͯΔ w $PNNJUPCKFDU͕USFFಉ࢜ͷίωΫγϣϯΛҙຯͯ͠Δ w (JUͱ͍͏ͷ͸࣮͸௿ϨΠϠʔͳදݱΛந৅Խͯͯ͠ීஈ๻Β ͸࢖͍ͬͯΔɽ

Slide 33

Slide 33 text

w IUUQTHJUTDNDPNCPPLKBW (JU&"&&&# (JU&""&&#&" &"'& w IUUQUBLFJPIBUFOBCMPHDPNFOUSZ ϦϑΝϨϯε