Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Git & GitHub社内勉強会
Search
HIRAKI Satoru
May 09, 2012
Technology
3
910
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
310
Kuroi Gamenって何で使うの?
layzie
7
3.9k
TalkNote Vol.8「TalkNote × Frontrend」 - JavaScript開発の効率アップ -
layzie
8
490
JavaScript Development Tools
layzie
9
1.4k
GitとGithub初めの1歩
layzie
0
180
Other Decks in Technology
See All in Technology
.NET 10の概要
tomokusaba
0
100
因果AIへの招待
sshimizu2006
0
970
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
430
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
1.9k
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
120
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
350
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
エンジニアリングマネージャー はじめての目標設定と評価
halkt
0
280
文字列の並び順 / Unicode Collation
tmtms
3
570
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
sagara
0
130
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
430
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Docker and Python
trallard
47
3.7k
Git: the NoSQL Database
bkeepers
PRO
432
66k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
A Tale of Four Properties
chriscoyier
162
23k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
How to Ace a Technical Interview
jacobian
280
24k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
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/
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠