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入門-GitHubでたのしいチーム開発
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuta Totz
August 24, 2015
Programming
320
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Git/GitHub入門-GitHubでたのしいチーム開発
岡山大学テクノロジーラボ(OTL)のGitとGitHubについての入門ワークショップのときのスライドです。
Yuta Totz
August 24, 2015
More Decks by Yuta Totz
See All by Yuta Totz
ウガンダでXcodeをアップデートする方法
totzyuta
0
140
Working with UNIX Process 6/7 Chapter
totzyuta
1
80
珈琲と僕
totzyuta
0
120
読んで理解するActiveRecordの設計とActiveSupport::Concern
totzyuta
4
1.7k
TDDとVimと
totzyuta
1
550
モテる!筋肉コンパイラ自作入門 - 草食男子からの卒業
totzyuta
0
470
Vimmer幼稚園
totzyuta
2
120
たのしいたーみなる
totzyuta
0
60
Other Decks in Programming
See All in Programming
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.6k
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
200
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
act1-costs.pdf
sumedhbala
0
160
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
140
1B+ /day規模のログを管理する技術
broadleaf
0
120
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
270
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
190
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.6k
Featured
See All Featured
WENDY [Excerpt]
tessaabrams
11
38k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
260
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Done Done
chrislema
186
16k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
270
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
220
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.1k
Chasing Engaging Ingredients in Design
codingconduct
0
230
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
240
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.4k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
340
Transcript
Git/GitHub ೖ GitHubͰͨͷ͍͠νʔϜ։ൃ
ຊͷΰʔϧ
- Gitͨͷ͍͠ʂ - GitHubͰνʔϜ։ൃؾ͍࣋ͪʂ
git
git ͬͯͳΜΖ͔…
ࢄόʔδϣϯཧγεςϜ …Α͚͍Θ͔ΒΜ
ཁ͢Δͱ ࢄ ͯ͠ɺ όʔδϣϯ Λ ཧ͢Δ γεςϜ ͷ͜ͱ
ʮόʔδϣϯཧʯͬͯ…ʁ
ීஈͬͯΔ͜ͱ
ීஈͬͯΔ͜ͱ ϝϞ.txt ϝϞ ID: hoge
ϝϞ.txt ϝϞ ID: hoge ීஈͬͯΔ͜ͱ ϝϞ.txt ϝϞ ID: hoge2015 ฤूதʜ
ීஈͬͯΔ͜ͱ ϝϞ.txt ϝϞ ID: hoge ϝϞ.txt ϝϞ ID: hoge2015 ηʔϒʂʂ
ීஈͬͯΔ͜ͱ ϝϞ.txt ϝϞ ID: hoge ϝϞ.txt ϝϞ ID: hoge2015 ؒҧ͑ͯͨʂʂ
͍͚ͨ͠Ͳ্ॻ͖ͯ͠Μ͡ΌΜʂʂʂ
όʔδϣϯΛཧ͍ͨ͠ͱ͖ɺ Ͳ͏͠·͔͢ʁ …Α͚͍Θ͔ΒΜ
ίϐʔͯ͠όοΫΞοϓΛ ͱ͓ͬͯ͘ Ҋͦͷ̍
ίϐʔΛͱ͓ͬͯ͘ ࠷৽൛index.html index.html (લͷͭ) index-old.html index20510620.html ฤू༻index.html index.html
None
ʮόʔδϣϯཧʯͱ
ηʔϒ͢Δͨͼʹɺ όʔδϣϯΛৼΓ·͢
ʮόʔδϣϯཧʯͱ… ϝϞ.txt มߋ͠·ͨ͠ʂ ϝϞ.txt ηʔϒ͠·ͨ͠ʂ ver. 2 ver. 1
ʮόʔδϣϯཧʯͱ… ϝϞ.txt ϝϞ.txt ͍ؒҧ͑ͯͨʂ ্͔͠ॻ͖ͪ͠Όͬ ͨΑʔʂʂ ver. 2 ver. 1
ͦΜͳͱ͖ʹgitͳΒ ϝϞ.txt Ұݸલʹηʔϒͨ͠ ͱ͜Ζ(ver.1)ʹΔʂ ϝϞ.txt ͜ΕͰ҆৺ʂศརʂ ver. 2 ver. 1
ͯ͢ͷมߋཤྺΛཧͰ͖Δ gitͷ͍͍ͱ͜Ζͦͷ̍
gitͷ͜ͱ • ηʔϒ = ίϛοτ (commit) • ϦϙδτϦ = ϑΥϧμ
gitͷ͘͠Έ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit
merge ࣗͷ1$ͷத push fetch
ΈΜͳ͕ΈΜͳͷPCͰ ωοτͳͯ͘࡞ۀͰ͖Δ gitͷ͍͍ͱ͜Ζͦͷ̎
͜ΕͰgit͑Δʂ
$ git add FILENAME $ git commit -m “message” $
git push 1. εςʔδϯάɾΤϦΞʹՃ 2. ϩʔΧϧͰมߋΛηʔϒ 3. ϩʔΧϧͷηʔϒΛϦϞʔτʹηʔϒ
$ git add FILENAME $ git commit -m “message” 1.
εςʔδϯάɾΤϦΞʹՃ 2. ϩʔΧϧͰมߋΛηʔϒ
$ git add/commit ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM
TUZMFDTT add/commit ࣗͷ1$ͷத
$ git add FILENAME $ git commit -m “message” $
git push 1. εςʔδϯάɾΤϦΞʹՃ 2. ϩʔΧϧͰมߋΛηʔϒ 3. ϩʔΧϧͷηʔϒΛϦϞʔτʹηʔϒ
$ git push 3. ϩʔΧϧͷηʔϒΛϦϞʔτʹηʔϒ
$ git push ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM
TUZMFDTT ࣗͷ1$ͷத push
GitHubͱ
None
GitHubɺ GitͷϦϙδτϦ ΛϗεςΟϯά͢ΔαʔϏε
gitͷ͘͠Έ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit
merge ࣗͷ1$ͷத push fetch (JU)VC
None
νʔϜ։ൃͲ͏Μͷ
νʔϜ։ൃͷΓ͔ͨ τπΧͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ (GitHub͕ϗετ) JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT
commit merge fetch push
൴ঁͱڞಉ࡞ۀΛ͢Δͱ͖
൴ঁͱڞಉ࡞ۀΛ͢Δͱ͖ τπΧͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit merge
fetch push ൴ঁͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit merge fetch push ϦϞʔτϦϙδτϦ (GitHub͕ϗετ)
ϦϞʔτϦϙδτϦ (GitHub͕ϗετ) ൴ঁͱڞಉ࡞ۀΛ͢Δͱ͖ τπΧͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT
commit merge fetch push ൴ঁͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit merge fetch push ͜Ε͕ࢄʂʂʂ
νʔϜ։ൃϑϩʔ
νʔϜ։ൃϑϩʔ • ࣗͷΞΧϯτʹσʔλΛෳ (fork) • ϩʔΧϧ(ࣗͷPCͷத)ʹσʔλΛ࣋ͬͯ͘Δ (clone) • ฤू͢Δ •
มߋ༰Λίϛοτ(ηʔϒ)͢Δ (add/commit) • ίϛοτ༰ΛϦϞʔτ(GitHub্ͷιʔε)ʹө͢Δ (push) • Pull RequestΛͩ͢ (GitHubͷը໘͔Βʂ)
1. ෳ͢Δ (fork) ฤू͍ͨ͠σʔλͷෳΛࣗͷ GitHubͷΞΧϯτʹͭ͘Ε·͢ GitHubͷϖʔδ͔Βʂʂ
1. ෳ͢Δ (fork) ϩʔΧϧϦϙδτϦ ϦϞʔτϦϙδτϦ ࣗͷ1$ͷத (JU)VC ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT
ΦϦδφϧ
1. ෳ͢Δ (fork) ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ ࣗͷ1$ͷத fork (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧ
$ git clone https://github… 2. ࣗͷPCʹ࣋ͬͯ͘Δ (clone) ϦϞʔτ(GitHub)͔Β ϩʔΧϧ(ࣗͷCP)ʹσʔλΛ͖࣋ͬͯ·͢ *
URLGitHubͷϖʔδ͔Βίϐϖ͠·͢
2. ࣗͷPCʹ࣋ͬͯ͘Δ (clone) ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ ࣗͷ1$ͷத (JU)VC ࣗͷΞΧϯτ
JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ
2. ࣗͷPCʹ࣋ͬͯ͘Δ (clone) ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத
clone (JU)VC ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT
3. ฤू͢Δ
3. ฤू͢Δ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT
3. ฤू͢Δ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT ฤूͨͬͨ͠ʂʂʂʂ
$ git commit -m “message” 4. ίϛοτ(ηʔϒ)͢Δ ϩʔΧϧʢࣗͷPCͷதʣͰ มߋ༰Ληʔϒʂ $
git add FILENAME commit(ηʔϒ)͢ΔϑΝΠϧΛબͿ
4. ίϛοτ(ηʔϒ)͢Δ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT
4. ίϛοτ(ηʔϒ)͢Δ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT add /
commit ࣗͷ1$ͷத (JU)VC ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT
$ git push 5. ϦϞʔτʹө͢Δ (push) ϩʔΧϧʢࣗͷPCʣͷதͷมߋΛ ϦϞʔτʢGitHub্ʣͷιʔεʹө͠·͢
5. ϦϞʔτʹө͢Δʢpushʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT
5. ϦϞʔτʹө͢Δʢpushʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT push
GitHubͷϖʔδ͔Βʂʂ 6. มߋΛऔΓࠐΜͰΒ͏ ʢpull requestʣ ΦϦδφϧͷϨϙδτϦʹ ʮͷมߋΛऔΓࠐΜͰ͘Εʂʯ ͱϦΫΤετ͠·͢
5. มߋΛऔΓࠐΜͰΒ͏ʢpull requestʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத
(JU)VC ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT
5. ϦϞʔτʹө͢Δʢpushʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT PR มߋ͔ͨ͠Βऔ ΓࠐΜͰΑʔʂʂ
5. ϦϞʔτʹө͢Δʢpushʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத (JU)VC
ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ JOEFYIUNM TUZMFDTT PR มߋ͔ͨ͠Βऔ ΓࠐΜͰΑʔʂʂ 0,
0. ΈΜͳͷมߋΛऔΓࠐΉ $ git pull upstream master ΦϦδφϧͷํͷϦϞʔτʢGitHub্ʣ͕มߋ͞Ε ͍ͯͨΒ࠷৽൛ΛࣗͷιʔεʹऔΓࠐΉ $
git remote add upstream https:// github.com/okadai-techlab/okayama-u- techlab.com.git ͯ͘Β΅ͷΦϦδφϧͷํϦϞʔτઌͱͯ͠ొ͢Δ * ొ࠷ॳͷҰճ͚ͩͰ͍͍Αʂ ‘upstrem’໊ͬͯલ͡Όͳ͍͍ͯ͘Αʂ
5. มߋΛऔΓࠐΜͰΒ͏ʢpull requestʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத
(JU)VC ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT ΦϦδφϧʢຊମʣ upstream JOEFYIUNM TUZMFDTT ୭͔͕มߋͨ͠ ʢ࠷৽൛ʣ ෳ origin
5. มߋΛऔΓࠐΜͰΒ͏ʢpull requestʣ ϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT ϦϞʔτϦϙδτϦ JOEFYIUNM TUZMFDTT ࣗͷ1$ͷத
(JU)VC ࣗͷΞΧϯτ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT pull ΦϦδφϧʢຊମʣ upstream ෳ origin
൴ঁͱڞಉ࡞ۀΛ͢Δͱ͖ τπΧͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit merge
push ൴ঁͷϩʔΧϧϦϙδτϦ JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT commit merge pull push ϦϞʔτϦϙδτϦ (GitHub͕ϗετ) upstream JOEFYIUNM TUZMFDTT JOEFYIUNM TUZMFDTT push pull push PR PR ෳ origin
νʔϜ։ൃϑϩʔ • ࣗͷΞΧϯτʹσʔλΛෳ (fork) … 1ճ͚ͩ • ϩʔΧϧ(ࣗͷPCͷத)ʹσʔλΛ࣋ͬͯ͘Δ (clone) …
1ճ͚ͩ • ࠷৽൛ΛऔΓࠐΉ (pull) • ฤू͢Δ • มߋ༰Λίϛοτ(ηʔϒ)͢Δ (add/commit) • ίϛοτ༰ΛϦϞʔτ(GitHub্ͷιʔεorigin)ʹө͢Δ (push) • ΈΜͳͷมߋΛऔΓࠐΉ (Pull RequestΛͩ͢) -> pullʹΔ
Demo