Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Git & GitHub社内勉強会
Search
HIRAKI Satoru
May 09, 2012
Technology
3
890
Git & GitHub社内勉強会
社内での勉強会で使った資料です。Git使った事無い人向け。あと、実際にターミナルで実演したんで、そことか分かりにくいだろうけども…。
HIRAKI Satoru
May 09, 2012
Tweet
Share
More Decks by HIRAKI Satoru
See All by HIRAKI Satoru
About tc39/ecma262
layzie
2
1.3k
GitHub Enterprise for CyberAgent
layzie
0
170
情報化社会を この先生きのこるためには / Layzie@Frontrend in Kanazawa
layzie
9
7k
VimとTシャツと私 / Why I love vim so much?
layzie
1
290
Kuroi Gamenって何で使うの?
layzie
7
3.7k
TalkNote Vol.8「TalkNote × Frontrend」 - JavaScript開発の効率アップ -
layzie
8
470
JavaScript Development Tools
layzie
9
1.4k
GitとGithub初めの1歩
layzie
0
160
Other Decks in Technology
See All in Technology
チームビルディング「脅威モデリング」ワークショップ
koheiyoshikawa
0
180
大規模プロジェクトにおける 品質管理の要点と実践 / 20250327 Suguru Ishii
shift_evolve
0
320
Enterprise AI in 2025?
pamelafox
0
130
Amazon Q Developer 他⽣成AIと⽐較してみた
takano0131
1
140
ウェブアクセシビリティとは
lycorptech_jp
PRO
0
350
”知のインストール”戦略:テキスト資産をAIの文脈理解に活かす
kworkdev
PRO
8
3.4k
SREが実現する開発者体験の革新
sansantech
PRO
0
130
Tokyo dbt Meetup #13 dbtと連携するBI製品&機能ざっくり紹介
sagara
0
320
デザインシステムのレガシーコンポーネントを刷新した話/Design System Legacy Renewal
kaonavi
0
130
SSH公開鍵認証による接続 / Connecting with SSH Public Key Authentication
kaityo256
PRO
2
260
ソフトウェアプロジェクトの成功率が上がらない原因-「社会価値を考える」ということ-
ytanaka5569
0
140
「家族アルバム みてね」を支えるS3ライフサイクル戦略
fanglang
4
600
Featured
See All Featured
Documentation Writing (for coders)
carmenintech
69
4.7k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Product Roadmaps are Hard
iamctodd
PRO
52
11k
RailsConf 2023
tenderlove
29
1k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
102
19k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
510
The Language of Interfaces
destraynor
157
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
8
720
Transcript
Git & GitHub ษڧձ ~ GitͱGitHubͰ৭ʑḿΔͧ~
Gitͱ͔ • Βͳ͍ • ڵຯແ͍ • ͬͯΔ • ͬͨࣄ͋Δ •
ͬͺMercurial or BazzarͩΑͶʂ
GitHubͱ͔ • Βͳ͍ • ڵຯແ͍ • ͬͯΔ • ͬͨࣄ͋Δ •
ͬͺBitbucketͩΑͶʂ
·ͣGitͷྑ͍ॴ • ಠΓͰେৎʂ • Ωϝࡉ͔ͳίϛοτ→Ҏલͷঢ়ଶʹࡉ͔͘ΕΔʂ • औΓ͋͑ͣίϛοτͯ͠ɺཤྺͷमਖ਼͕؆୯ʹͰ͖Δ • BranchͷΓ͢͞ɾΓସ͑͢͞ •
୭͕ͲΜͳͷΛίϛοτ͔͕͍ͨ͢͠͠→ॏཁʂ
࣍GitHubͷྑ͍ॴ • OSSͷొ͕ͬ͛͑͢ଟ͍Αʂ • ༗໊ॴͷOSSͷίϯτϦϏϡʔλʔίϛολʔເ͡Όͳ͍ • issue & wikiͰϓϩδΣΫτཧόονϦ •
Gistͱ͔ͷपลπʔϧ͕ॆ࣮ͯ͠ΔΑ • ωοτ͑͋͞ΕͲͷPCͰ։ൃଓߦͰ͖ΔΑ
Gitͷ֤OSͰͷΠϯετʔϧ • Windows • MsysGit • Mac • Gitެࣜ •
Homebrew / MacPorts
GitΛ͍͡ΊΔલʹ… • ݁ߏλʔϛφϧΤϛϡϨʔλʔ(௨ শɿࠇ͍ը໘)͕ඞཁʹͳΓ·͢ɻ • ͜ΕΛػʹσβΠφʔ or ϑϩϯτΤ ϯυͷਓͪΐͬͱ͍ͨ͠ํΛ֮͑ ·͠ΐ͏
• ͪͳΈʹMacͩͱྑ͍GUIϑϩϯτΤ ϯυ͕͋ΔΜͰ͚͢ͲͶ(GitHub for Macͱ͔SourceTreeͱ͔Towerͱ͔)
ͱ͍͏ࣄͰcommand֮͑Α͏ͥ • ͱݴ͑ɺࠓճͦΜͳʹ͍·ͤΜ • cd / mkdir / pwd /
ls / touch / (ssh- keygen) / ͪΖΜgit • Ҏ্͘Β͍͔͠Θͳ͍Ͱ͢ • ҙຯͱ͔ಇ͖ͳΜ͔…→→→→→ • ͦΕ͔ɺ-h or --help or man command
ॳΊͯͷGit ͔ͬ͜ΒɺϥΠϒίʔσΟϯάͬͭʔ͔ɺϥΠϒλʔϛφϧ
gitίϚϯυ͕ϫΧϯω • git init • gitͷॳظԽɻ͜ΕͰɺ֘σΟϨ ΫτϦΛgitͰཧ • git add
• gitͰcommit͢ΔϑΝΠϧΛࢦఆ • git status • gitͷঢ়ଶΛݟΔ • git commit • gitʹcommitͯ͠มߋΛཧ͢Δ • Ͷɺ؆୯Ͱ͠ΐʁ
͋Εʁίϛοτͪ͠Ό͏ͷʁ • ࠜຊతʹSVNͱҧ͍·͢ • GitͰcommit = αʔόʔʹΞοϓͰແ͍Ͱ͢ • ͯɺ͡Ό͋GitͷcommitͬͯԿ͢ΔΜʁ
͜͜Ͱͪΐͬͱ͍͠આ໌ • git addมߋ(not ϑΝΠϧ)Λindex(εςʔδϯά)ʹొ͢Δ ίϚϯυͰ͢ • git commitaddͰొ͞ΕͨมߋΛ࣮ࡍʹϑΝΠϧมߋͨ͠ ཤྺͱͯ͠ొ͢ΔίϚϯυͰ͢
ॳΊͯͷมߋ λΠτϧ͕͖ͬ͞ݟͨͷͱࣅͯΔͷܾͯ͠खΛൈ͍͔ͨΒ͡Όͳ͍Αɻ
͋ͨΒ͍͠gitίϚϯυ • git diff • git add ͢Δલͷ(εςʔδϯάલͷ) ࠓճͷϑΝΠϧͷมߋΛදࣔ •
git diff HEAD • git add ͢Δલͷ(εςʔδϯάલͷ) શͯͷϑΝΠϧͷมߋΛදࣔ • ͑ͬͱͲ͏͍͏ࣄʁ • HEADͱ͍͏ͷgitͰͷ࠷৽ίϛο τΛࢦ͢༻ޠʹͳΓ·͢ • addมߋঢ়ଶͷొͳͷͰɺී௨ ͷdiffͦͷ࣌ͷมߋͷΈදࣔ͠ ͯɺHEADʹ͚ΔͱࠓἬͷcommit લͷมߋΛදࣔ͢Δͱ͍͏ҧ͍ ͕͋Γ·͢ • ͪͳΈʹHEADଞͰ༻
͏গ͍͠͠આ໌ • มߋͱ͔ݴͬͯ·͕͢gitҎԼͷ3ͭͷঢ়ଶΛૢ࡞ͯ͠มߋΛ ه͠·͢ • Working directory • Staging area
• Repository
Working directory • ී௨ʹExploreͱ͔FinderͰݟΒΕΔϑΝΠϧɾσΟϨΫτϦ • ීஈ࡞ۀ͢Δͷʹͪ͜ΒΛΠδΓ·͢Ͷ(ͨΓલ) • ͱݴ͑ɺ͜Εgit͔ΒݟΔͱ͋Δcommit࣌ͰͷνΣοΫΞ τͰ͢
Staging area • ͖͔ͬ͞Βgit addͰεςʔδϯάͱ͔ݴͬͯͨͷίϨ • ͜ΕWorking directoryͰͷมߋͳΜ͔Λ͑Δॴ • git
commit͢Δ࣌ʹ͔͜͜Βมߋ͕gitʹΘΔ • ී௨࣮ମ͕ແ͍(Α͏ʹݟ͑Δ)
Repository • ͿͬͪΌ͚ɺgitͷ৺ଁ෦ɻ͜Εແ͍ͱgit͕ࢮΜ͡Ό͏ʂ • ࠓἬͷมߋͷཤྺͱ͔ͦͷଞॾʑೖͬͯΔDBΈ͍ͨͳͷ • GitHubͷRepository͜Εͱશ͘มΘΓ·ͤΜ • ͳͷͰɺGitHub͔Βclone͖ͯͨ͠ͷ͕શͯ͑ΔΜͰ͢Ͷ
ϒϥϯνͱ͔Ͷʔͷʁ • ͋Δʹܾ·ͬͯΜͩΖɺϰΥέ • gitͷϒϥϯνͱ͔λάsvnͷ200ഒ͍͍͢Ͱ͢(ࣾൺ) • ෳਓͰ͏߹ɺΨΠυϥΠϯ͕ཉ͍͠Ͱ͢
ॳΊͯͷϒϥϯν ࣈ໘Ұॹ͚ͩͲɺேன݉༻ͷ৯ࣄͷࣄ͡Όͳ͍Α
͞Βʹ͋ͨΒ͍͠gitίϚϯυ • git branch • ݟͯͷ௨ΓϒϥϯνΛ࡞ΔίϚϯ υ • git checkout
• svnͩͱϦϞʔτ͔Βιʔε࣋ͬͯ ͘ΔίϚϯυ͚ͩͲɺgitͰϦϙ δτϦ͔ΒͳΜͰϩʔΧϧOK • ଞʹgit tagͱ͔͋Γ·͢ • tagv1.0ͱ͔ίϛοτཤྺͷதͷ ϒοΫϚʔΫΈ͍ͨͳػೳ
͋Εɺ͜ΕͰઆ໌ऴΘΓͩΘ • gitͷجຊతͳ͍ํ࣮Ҏ্ͷ܁Γฦͩͬͨ͠Γ͠·͢ • ͳͷͰɺ͜͜Ͱgitͷ͍ํͷઆ໌ऴΘΓ • ͪΖΜɺgitͷ͍ํͱ͔ίϚϯυͬͱ৭ʑͱ͋Γ·͢ • ࠓઆ໌͠ͳ͍ͷɺάάͬͯͩ͋͘͠ •
࣮Pro GitͬͯຊͷWeb൛͕͋ΔΜͰɺͦΕͰશ෦ղܾ…
͔͜͜ΒϋΠύʔGitHubλΠϜ • ͳͷͰ͕͢ɺ·͋ΞΧϯτ࡞ͬͨΓඞཁͰ͢ • جຊແྉͰ͢ • Ψνϟͱ͔ίϯϓΨνϟͱ͔ແ͍Ͱ͢
ͦͦGitHubԿͰ͖Δͷʁ • GitHubࣗମGitઐ༻ͷϗεςΟϯάαʔϏε • ͳͷͰɺࣗͰ࡞ͨ͠ίʔυͷཧͱ͔ • ଞਓͷϓϩδΣΫτΛforkͯ͠վͨ͠Γͱ͔ • forkͨ͠ͷΛݩͷϓϩδΣΫτʹpull requestͨ͠Γͱ͔
• ͦΜͳࣄͯͨ͠ΒɺϓϩδΣΫτͷίϛολʔʹͳΕΔ͔
ͯ͞ɺͬͯΈ·ͬ͠ΐ͍ ͬͺΓɺϥΠϒλʔϛφϧ
·ʔͨɺ৽͍͠ίϚϯυ͕ • git remote • ϨϙδτϦΛஔ͘ॴΛࢦఆ͢Δ (ෳՄ) • git push
• ϩʔΧϧͷϦϙδτϦͷcommitΛ ϦϞʔτͷϦϙδτϦʹΞοϓ͠ ͯಉظΛऔΔ • git pull • git pushͷٯͰɺϦϞʔτͷϦϙ δτϦͷcommitΛϩʔΧϧͷϦ ϙδτϦʹಉظͤ͞Δ • ϩʔΧϧͱϦϞʔτͷΓऔΓ جຊɺpush & pullͰେৎ
࣭͋Γ·͔͢ʁ
࠷ޙʹ • ͜ͷઆ໌͕ͬͭΓͱ؆୯ʹͨ͠ͳΜͰɺڵຯ͋Δਓࣗ ͰwebͰௐͨΓɺຊಡΜͩΓͯͩ͋͘͠͠ • ؒҧͬͨઆ໌ͯͨ͠Βਖ਼εϚϯ • GitHubͷϚείοτͷOctocat͕ՄѪ͍ͷͰੜ͖Δͷ͕πϥ͍ • http://octodex.github.com/
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠