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
920
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.4k
GitHub Enterprise for CyberAgent
layzie
0
190
情報化社会を この先生きのこるためには / Layzie@Frontrend in Kanazawa
layzie
9
7.2k
VimとTシャツと私 / Why I love vim so much?
layzie
1
320
Kuroi Gamenって何で使うの?
layzie
7
3.9k
TalkNote Vol.8「TalkNote × Frontrend」 - JavaScript開発の効率アップ -
layzie
8
500
JavaScript Development Tools
layzie
9
1.5k
GitとGithub初めの1歩
layzie
0
190
Other Decks in Technology
See All in Technology
チームメンバー迷わないIaC設計
hayama17
5
3.1k
Claude Codeと駆け抜ける 情報収集と実践録
sontixyou
2
1.2k
Exadata Fleet Update
oracle4engineer
PRO
0
1.3k
Eight Engineering Unit 紹介資料
sansan33
PRO
1
6.8k
大規模な組織におけるAI Agent活用の促進と課題
lycorptech_jp
PRO
5
6.7k
AI が Approve する開発フロー / How AI Reviewers Accelerate Our Development
zaimy
1
230
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4k
2026年のAIエージェント構築はどうなる?
minorun365
12
2.8k
作るべきものと向き合う - ecspresso 8年間の開発史から学ぶ技術選定 / 技術選定con findy 2026
fujiwara3
6
1.6k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
43k
dbt meetup #19 『dbtを『なんとなく動かす』を卒業します』
tiltmax3
0
130
【2026年版】生成AIによる情報システムへのインパクト
taka_aki
0
190
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Making the Leap to Tech Lead
cromwellryan
135
9.7k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
30 Presentation Tips
portentint
PRO
1
250
Practical Orchestrator
shlominoach
191
11k
The Limits of Empathy - UXLibs8
cassininazir
1
240
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
160
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
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/
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠