Slide 1

Slide 1 text

Git & GitHub ษڧձ ~ GitͱGitHubͰ৭ʑḿΔͧ~

Slide 2

Slide 2 text

Gitͱ͔ • ஌Βͳ͍ • ڵຯແ͍ • ஌ͬͯΔ • ࢖ͬͨࣄ͋Δ • ΍ͬͺMercurial or BazzarͩΑͶʂ

Slide 3

Slide 3 text

GitHubͱ͔ • ஌Βͳ͍ • ڵຯແ͍ • ஌ͬͯΔ • ࢖ͬͨࣄ͋Δ • ΍ͬͺBitbucketͩΑͶʂ

Slide 4

Slide 4 text

·ͣ͸Gitͷྑ͍ॴ • ಠΓͰ΋େৎ෉ʂ • Ωϝࡉ΍͔ͳίϛοτ→Ҏલͷঢ়ଶʹ΋ࡉ͔͘໭ΕΔʂ • औΓ͋͑ͣίϛοτͯ͠΋ɺཤྺͷमਖ਼͕؆୯ʹͰ͖Δ • Branchͷ੾Γ΍͢͞ɾ੾Γସ͑΍͢͞ • ୭͕ͲΜͳ΋ͷΛίϛοτ͔͕ͨ͠௥੻͠΍͍͢→੹೚ॏཁʂ

Slide 5

Slide 5 text

࣍͸GitHubͷྑ͍ॴ • OSSͷొ࿥਺͕ͬ͛͑͢ଟ͍Αʂ • ༗໊ॴͷOSSͷίϯτϦϏϡʔλʔ΍ίϛολʔ΋ເ͡Όͳ͍ • issue & wikiͰϓϩδΣΫτ؅ཧ΋όονϦ • Gistͱ͔ͷपลπʔϧ͕ॆ࣮ͯ͠ΔΑ • ωοτ͑͋͞Ε͹ͲͷPCͰ΋։ൃଓߦͰ͖ΔΑ

Slide 6

Slide 6 text

Gitͷ֤OSͰͷΠϯετʔϧ • Windows • MsysGit • Mac • Gitެࣜ • Homebrew / MacPorts

Slide 7

Slide 7 text

GitΛ࢖͍͸͡ΊΔલʹ… • ݁ߏλʔϛφϧΤϛϡϨʔλʔ(௨ শɿࠇ͍ը໘)͕ඞཁʹͳΓ·͢ɻ • ͜ΕΛػʹσβΠφʔ or ϑϩϯτΤ ϯυͷਓ΋ͪΐͬͱͨ͠࢖͍ํΛ֮͑ ·͠ΐ͏ • ͪͳΈʹMacͩͱྑ͍GUIϑϩϯτΤ ϯυ͕͋ΔΜͰ͚͢Ͳ΋Ͷ(GitHub for Macͱ͔SourceTreeͱ͔Towerͱ͔)

Slide 8

Slide 8 text

ͱ͍͏ࣄͰcommand֮͑Α͏ͥ • ͱ͸ݴ͑ɺࠓճ͸ͦΜͳʹ࢖͍·ͤΜ • cd / mkdir / pwd / ls / touch / (ssh- keygen) / ΋ͪΖΜgit • Ҏ্͘Β͍͔͠࢖Θͳ͍Ͱ͢ • ҙຯͱ͔ಇ͖ͳΜ͔͸…→→→→→ • ͦΕ͔ɺ-h or --help or man command

Slide 9

Slide 9 text

ॳΊͯͷGit ͔ͬ͜Β͸ɺϥΠϒίʔσΟϯάͬͭʔ͔ɺϥΠϒλʔϛφϧ

Slide 10

Slide 10 text

gitίϚϯυ͕ϫΧϯω • git init • gitͷॳظԽɻ͜ΕͰɺ֘౰σΟϨ ΫτϦΛgitͰ؅ཧ • git add • gitͰcommit͢ΔϑΝΠϧΛࢦఆ • git status • gitͷঢ়ଶΛݟΔ • git commit • gitʹcommitͯ͠มߋΛ؅ཧ͢Δ • Ͷɺ؆୯Ͱ͠ΐʁ

Slide 11

Slide 11 text

͋Εʁίϛοτͪ͠Ό͏ͷʁ • ࠜຊతʹSVNͱ͸ҧ͍·͢ • GitͰ͸commit = αʔόʔʹΞοϓͰ͸ແ͍Ͱ͢ • ͸ͯɺ͡Ό͋GitͷcommitͬͯԿ͢ΔΜʁ

Slide 12

Slide 12 text

͜͜Ͱͪΐͬͱ೉͍͠આ໌ • git add͸มߋ఺(not ϑΝΠϧ)Λindex(εςʔδϯά)ʹొ࿥͢Δ ίϚϯυͰ͢ • git commit͸addͰొ࿥͞Εͨมߋ఺Λ࣮ࡍʹϑΝΠϧมߋͨ͠ ཤྺͱͯ͠ొ࿥͢ΔίϚϯυͰ͢

Slide 13

Slide 13 text

ॳΊͯͷมߋ λΠτϧ͕͖ͬ͞ݟͨͷͱࣅͯΔͷ͸ܾͯ͠खΛൈ͍͔ͨΒ͡Όͳ͍Αɻ

Slide 14

Slide 14 text

͋ͨΒ͍͠gitίϚϯυ • git diff • git add ͢Δલͷ(εςʔδϯάલͷ) ࠓճͷϑΝΠϧͷมߋ఺Λදࣔ • git diff HEAD • git add ͢Δલͷ(εςʔδϯάલͷ) શͯͷϑΝΠϧͷมߋ఺Λදࣔ • ͑ͬͱͲ͏͍͏ࣄʁ • HEADͱ͍͏ͷ͸gitͰͷ࠷৽ίϛο τΛࢦ͢༻ޠʹͳΓ·͢ • add͸มߋঢ়ଶͷొ࿥ͳͷͰɺී௨ ͷdiff͸ͦͷ࣌ͷมߋ఺ͷΈදࣔ͠ ͯɺHEADʹ޲͚ΔͱࠓἬͷcommit લͷมߋ఺Λදࣔ͢Δͱ͍͏ҧ͍ ͕͋Γ·͢ • ͪͳΈʹHEAD͸ଞͰ΋࢖༻

Slide 15

Slide 15 text

΋͏গ͠೉͍͠આ໌ • มߋ఺ͱ͔ݴͬͯ·͕͢git͸ҎԼͷ3ͭͷঢ়ଶΛૢ࡞ͯ͠มߋΛ ه࿥͠·͢ • Working directory • Staging area • Repository

Slide 16

Slide 16 text

Working directory • ී௨ʹExploreͱ͔FinderͰݟΒΕΔϑΝΠϧɾσΟϨΫτϦ • ීஈ࡞ۀ͢Δͷʹ͸ͪ͜ΒΛΠδΓ·͢Ͷ(౰ͨΓલ) • ͱ͸ݴ͑ɺ͜Ε͸git͔ΒݟΔͱ͋Δcommit࣌఺ͰͷνΣοΫΞ ΢τͰ͢

Slide 17

Slide 17 text

Staging area • ͖͔ͬ͞Βgit addͰεςʔδϯάͱ͔ݴͬͯͨͷ͸ίϨ • ͜Ε͸Working directoryͰͷมߋ఺ͳΜ͔Λ஝͑Δॴ • git commit͢Δ࣌ʹ͔͜͜Βมߋ఺͕gitʹ఻ΘΔ • ී௨͸࣮ମ͕ແ͍(Α͏ʹݟ͑Δ)

Slide 18

Slide 18 text

Repository • ͿͬͪΌ͚ɺgitͷ৺ଁ෦ɻ͜Εແ͍ͱgit͕ࢮΜ͡Ό͏ʂ • ࠓἬͷมߋ఺ͷཤྺͱ͔ͦͷଞॾʑೖͬͯΔDBΈ͍ͨͳ΋ͷ • GitHubͷRepository΋͜Εͱશ͘มΘΓ·ͤΜ • ͳͷͰɺGitHub͔Βclone͖ͯͨ͠΋ͷ͕શͯ࢖͑ΔΜͰ͢Ͷ

Slide 19

Slide 19 text

ϒϥϯνͱ͔Ͷʔͷʁ • ͋Δʹܾ·ͬͯΜͩΖɺϰΥέ • gitͷϒϥϯνͱ͔λά͸svnͷ200ഒ࢖͍΍͍͢Ͱ͢(౰ࣾൺ) • ෳ਺ਓͰ࢖͏৔߹͸ɺΨΠυϥΠϯ͕ཉ͍͠Ͱ͢

Slide 20

Slide 20 text

ॳΊͯͷϒϥϯν ࣈ໘͸Ұॹ͚ͩͲɺேன݉༻ͷ৯ࣄͷࣄ͡Όͳ͍Α

Slide 21

Slide 21 text

͞Βʹ͋ͨΒ͍͠gitίϚϯυ • git branch • ݟͯͷ௨ΓϒϥϯνΛ࡞ΔίϚϯ υ • git checkout • svnͩͱϦϞʔτ͔Βιʔε࣋ͬͯ ͘ΔίϚϯυ͚ͩͲɺgitͰ͸Ϧϙ δτϦ͔ΒͳΜͰϩʔΧϧ΋OK • ଞʹ΋git tagͱ͔͋Γ·͢ • tag͸v1.0ͱ͔ίϛοτཤྺͷதͷ ϒοΫϚʔΫΈ͍ͨͳػೳ

Slide 22

Slide 22 text

͋Εɺ͜ΕͰઆ໌ऴΘΓͩΘ • gitͷجຊతͳ࢖͍ํ͸࣮͸Ҏ্ͷ܁Γฦͩͬͨ͠Γ͠·͢ • ͳͷͰɺ͜͜Ͱgitͷ࢖͍ํͷઆ໌͸ऴΘΓ • ΋ͪΖΜɺgitͷ࢖͍ํͱ͔ίϚϯυ͸΋ͬͱ৭ʑͱ͋Γ·͢ • ࠓ೔આ໌͠ͳ͍΋ͷ͸ɺάάͬͯͩ͋͘͠ • ࣮͸Pro GitͬͯຊͷWeb൛͕͋ΔΜͰɺͦΕͰશ෦ղܾ…

Slide 23

Slide 23 text

͔͜͜ΒϋΠύʔGitHubλΠϜ • ͳͷͰ͕͢ɺ·͋ΞΧ΢ϯτ࡞ͬͨΓඞཁͰ͢ • جຊແྉͰ͢ • Ψνϟͱ͔ίϯϓΨνϟͱ͔͸ແ͍Ͱ͢

Slide 24

Slide 24 text

ͦ΋ͦ΋GitHub͸ԿͰ͖Δͷʁ • GitHubࣗମ͸Gitઐ༻ͷϗεςΟϯάαʔϏε • ͳͷͰɺࣗ෼Ͱ࡞੡ͨ͠ίʔυͷ؅ཧͱ͔ • ଞਓͷϓϩδΣΫτΛforkͯ͠վ଄ͨ͠Γͱ͔ • forkͨ͠΋ͷΛݩͷϓϩδΣΫτʹpull requestͨ͠Γͱ͔ • ͦΜͳࣄͯͨ͠ΒɺϓϩδΣΫτͷίϛολʔʹͳΕΔ͔΋

Slide 25

Slide 25 text

ͯ͞ɺ࢖ͬͯΈ·ͬ͠ΐ͍ ΍ͬͺΓɺϥΠϒλʔϛφϧ

Slide 26

Slide 26 text

·ʔͨɺ৽͍͠ίϚϯυ͕ • git remote • ϨϙδτϦΛஔ͘৔ॴΛࢦఆ͢Δ (ෳ਺Մ) • git push • ϩʔΧϧͷϦϙδτϦͷcommitΛ ϦϞʔτͷϦϙδτϦʹΞοϓ͠ ͯಉظΛऔΔ • git pull • git pushͷٯͰɺϦϞʔτͷϦϙ δτϦͷcommitΛϩʔΧϧͷϦ ϙδτϦʹಉظͤ͞Δ • ϩʔΧϧͱϦϞʔτͷ΍ΓऔΓ͸ جຊɺpush & pullͰେৎ෉

Slide 27

Slide 27 text

࣭໰͋Γ·͔͢ʁ

Slide 28

Slide 28 text

࠷ޙʹ • ͜ͷઆ໌͸͕ͬͭΓͱ؆୯ʹͨ͠෺ͳΜͰɺڵຯ͋Δਓ͸ࣗ෼ ͰwebͰௐ΂ͨΓɺຊಡΜͩΓͯͩ͋͘͠͠ • ؒҧͬͨઆ໌ͯͨ͠Βਖ਼௚εϚϯ • GitHubͷϚείοτͷOctocat͕ՄѪ͍ͷͰੜ͖Δͷ͕πϥ͍ • http://octodex.github.com/

Slide 29

Slide 29 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠