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
改めて学ぶ Trait の使い方 / phpcon odawara 2025
meihei3
1
610
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
1.3k
開発視点でAWS Signerを考えてみよう!! ~コード署名のその先へ~
masakiokuda
3
160
DuckDB MCPサーバーを使ってAWSコストを分析させてみた / AWS cost analysis with DuckDB MCP server
masahirokawahara
0
1.1k
LangChainとLangGiraphによるRAG・AIエージェント実践入門「10章 要件定義書生成Alエージェントの開発」輪読会スライド
takaakiinada
0
130
All You Need Is Kusa 〜Slackデータで始めるデータドリブン〜
jonnojun
0
150
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #DevOpsDaysTokyo
takabow
0
360
От ручной разметки к LLM: как мы создавали облако тегов в Lamoda. Анастасия Ангелова, Data Scientist, Lamoda Tech
lamodatech
0
640
AWS全冠芸人が見た世界 ~資格取得より大切なこと~
masakiokuda
4
4.9k
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
330
20250408 AI Agent workshop
sakana_ai
PRO
15
3.7k
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
5
430
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
52
7.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
390
Writing Fast Ruby
sferik
628
61k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Building Flexible Design Systems
yeseniaperezcruz
329
38k
How STYLIGHT went responsive
nonsquared
99
5.5k
Building an army of robots
kneath
304
45k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
650
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/
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠