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楽しく学ぼう
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
MIXI ENGINEERS
PRO
May 12, 2015
Programming
28k
47
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
すごいGit楽しく学ぼう
blog記事:
http://alpha.mixi.co.jp/entry/20150513
MIXI ENGINEERS
PRO
May 12, 2015
More Decks by MIXI ENGINEERS
See All by MIXI ENGINEERS
『モンスターストライク』 の運営に伴走する! データ民主化への 解析グループの3つのアプローチ
mixi_engineers
PRO
0
480
実践が先生だった— 新卒サーバーエンジニア1年目のリアル
mixi_engineers
PRO
0
500
13年運用タイトルのサーバーサイドが辿り着いた現在地 ― モンスターストライクにおける技術・組織・AI活用から得た知見
mixi_engineers
PRO
1
640
脱Jenkins、インターン生が挑んだCIツールGitHubActions移行
mixi_engineers
PRO
1
510
セキュリティ研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
35
30k
WEBフロントエンド研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.2k
AI研修(Day1)【MIXI 26新卒技術研修】
mixi_engineers
PRO
15
13k
AI研修(Day2)【MIXI 26新卒技術研修】
mixi_engineers
PRO
31
76k
データ活用研修 問いの発見と仮説構築【MIXI 26新卒技術研修】
mixi_engineers
PRO
3
1.1k
Other Decks in Programming
See All in Programming
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
480
全PRの83%がAIレビューだけでマージできるようになった開発組織はその後どうなったか
athug
1
1.5k
Foundation Models frameworkで画像分析
ryodeveloper
1
600
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
590
Android CLI
fornewid
0
210
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
380
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
Cloudflare is Agents
chimame
0
150
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.9k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
680
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
400
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
240
What's in a price? How to price your products and services
michaelherold
247
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
470
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
A better future with KSS
kneath
240
18k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Transcript
Learn You a Git for Great Good!
ͦͦɺGitͬͯ ԿͷͨΊʹ͋ΔΜͩΖ͏ʁ
GitɺνʔϜͰͭͷ։ൃʹ औΓΉ͜ͱΛՄೳʹ͠·͢ʂ
Git͕ແ͍ͱʜʜ Կ͕มΘ͔͔ͬͨΜͳ͍ʂ ٸʹಈ͔ͳ͘ͳͬͨΜ͚ͩͲʜʜ ࠓ͔Βࢲ͕։ൃ͢ΔͷͰɺΈΜͳ։ൃΛࢭΊͯʂ ͜ͷίʔυ୭͕ॻ͍ͨΜͩΖ͏ʁ
ਖ਼ਏ͍ʂ
Git͕͋Εʂ ;Ή;Ήɺ͜͏͍ͬͨมߋ͕ՃΘͬͨͷ͔ʂ ಈ͔ͳ͘ͳ͚ͬͨͲɺ͙͢ʹલʹͤͨʂ ඦਓͰҰॹʹ։ൃͰ͖ΔΑʂ ͜ͷΫιίʔυΛॻ͍ͨͷɺ˓˓͞Μ͔ʜʜ
ΈΜͳͰ։ൃͰָ͖͍ͯ͠ʂ ✌ Т✌ ࡾ✌ Т ✌ࡾ ✌`Т ✌
w ͱΓ͋͑ͣͬͯΈΑ͏ʂ w ίϛοτͱϒϥϯνʹ͍ͭͯਖ਼͘͠ཧղ͠Α͏ w ྺ࢙ΛऔΓࠐΉ w མึर͍ ࠓͷ༧ఆ
w ͱΓ͋͑ͣͬͯΈΑ͏ʂ w ίϛοτͱϒϥϯνʹ͍ͭͯਖ਼͘͠ཧղ͠Α͏ w ྺ࢙ΛऔΓࠐΉ w མึर͍ ࠓͷ༧ఆ
ͬͯΈΑ͏ʂͷͦͷલʹ $ git config --global user.name "Amy Mikushi" $ git
config --global user.email "
[email protected]
" Gitʹࣗݾհ ͜͜Ͱొͨ͠ใ͕(JUͷૢ࡞ʹ͍ͭͯճΔʂ
͡ΊͯΈΑ͏ $ mkdir books $ cd books $ git init
GitϦϙδτϦΛ࡞͠Α͏ ϦϙδτϦɺόʔδϣϯཧ͢ΔͨΊͷ ஷଂݿͷ͜ͱͰ͢
$ find . Α͘Ͱ͖·ͨ͠ʂ ͜ΕͰbooks
ঢ়ଶͷ֬ೝ $ git status git
ϑΝΠϧͷՃ Untracked
ՃΛ֬ೝ Changes
͡Ίͯͷίϛοτ εςʔδϯάΤϦΞʹஔ͍ͨϑΝΠϧΛεφοϓγϣο τͱͯ͠ɺGit
εςʔδϯάΤϦΞͱϦϙδτϦ Sherlock.txt Crusoe.txt ࡞ۀσΟϨΫτϦ εςʔδϯάΤϦΞ (JUϦϙδτϦ git add ίϛοτ͢Δ४උ͕Ͱ͖ͨΒgit
εςʔδϯάΤϦΞͱϦϙδτϦ Sherlock.txt Crusoe.txt ࡞ۀσΟϨΫτϦ εςʔδϯάΤϦΞ (JUϦϙδτϦ git add ίϛοτ͢Δ४උ͕Ͱ͖ͨΒgit
Sherlock.txt Crusoe.txt ࡞ۀσΟϨΫτϦ εςʔδϯάΤϦΞ (JUϦϙδτϦ git commit add
Sherlock.txt Crusoe.txt ࡞ۀσΟϨΫτϦ εςʔδϯάΤϦΞ (JUϦϙδτϦ git commit add
ྺ࢙ΛΈΑ͏ มߋΛอଘͰ͖ΔΑ͏ʹͳΓ·ͨ͠ʂ มߋΛίϛοτͱͯ͠ͲΜͲΜੵΈॏͶ͍ͯ͘͜ͱ͕େࣄͰ͢ ͲΜͳมߋ͖͚ͯͨͬ͠ʜʁͱͳͬͨΒྺ࢙ΛৼΓฦΓ·͠ΐ͏ʂ $ git log աڈͷมߋ ίϛοτ ͕ҰཡͰ͖·͢
ผͷϑΝΠϧΛՃ͢ΔίϛοτΛߦ͍ɺ࠶
ϦϞʔτϦϙδτϦΛͬͯΈΔ ಉ͡ঢ়ଶ͕ϦϞʔτʹอଘͰ͖·͢ ͍ͭͰͤΔ͠ɺଞͷਓҾͬுͬͯ͜Ε·͢ ·ͣɺGitHubͰϕΞϦϙδτϦΛ࡞͠Α͏ʂ https://github.com/new ϕΞϦϙδτϦ࡞ۀ༻σΟϨΫτϦΛ࣋ͨͳ͍ .gitͷΈͷϦϙδτϦͰ͢
ϦϞʔτϦϙδτϦΛొ͢Δ ϕΞϦϙδτϦΛ࡞ͨ͠ΒϦϞʔτϦϙδτϦͱͯ͠ ొ͠Α͏ $ git remote add origin \
[email protected]
:<your
account>/books.git ొͨ͠ϦϞʔτϦϙδτϦɺ$
खݩͷมߋΛ্͛ͯΈΑ͏ $ git push -u origin master ϦϞʔτϒϥϯνΛࣗಈͰ͢ΔΑ͏ʹઃఆ͢Δ ͔࣍Βpull
ڞಉ։ൃ͜ͱ͡Ί $ cd .. $ git clone
[email protected]
:<your account>/books.git alt_books
GitΛ͏͜ͱͰෳਓͰ͔ΜͨΜʹ։ൃͰ͖·͢ʂ ࠓ͔Βผਓ ͷؾ࣋ͪ ʹͳͬͯମݧͯ͠Έ·͠ΐ͏ ·ͣϦϞʔτϦϙδτϦΛखݩʹऔΓࠐΈ·͢ alt_booksͱ͍͏໊લͰϦϙδτϦΛෳ(clone)Ͱ͖ ͨʂ
ڞಉ։ൃ͜ͱ͡Ί $ cd alt_books $ vim Crusoe.txt $ git add
Crusoe.txt $ git commit $ git push Ͱɺalt_booksͰ࡞ۀΛ͍͖ͯ͠·͠ΐ͏ pushͨ͠ΒɺGitHubͰ֬ೝͯ͠ΈΑ͏ʂ
มߋΛऔΓࠐΉ $ cd ../books $ git pull ଞਓͷߦͬͨ࡞ۀ alt_booksͰߦͬͨ࡞ۀ Λ
booksʹऔΓࠐΜͰΈ·͠ΐ͏ ͦΕʹpull
มߋΛ֬ೝʂ $ vim Sherlock.txt $ git diff diff
มߋΛ֬ೝʂ1BSU $ git add Sherlock.txt $ git diff --staged ͨͩ୯ʹgit
ݩʹ͢ $ git reset Sherlock.txt ૉΒ͍͠ʂमਖ਼ՕॴΛ͙͢ʹ֬ೝ͢Δ͜ͱ͕Ͱ͖ΔΑ ͏ʹͳΓ·ͨ͠ ࣍ݩʹ͢ํ๏Λ֮͑·͠ΐ͏ addΛऔΓফ͢ʹgit
ݩʹ͢ $ vim Sherlock.txt $ git checkout -- Sherlock.txt ͜ΕͰ͖ͳ͚ͩBEEΛͨ͠ΓɺBEEΛऔΓফͨ͠ΓͰ
͖·͢ ࣍ϑΝΠϧࣗମΛલճͷίϛοτঢ়ଶʹ͢ํ๏Ͱ͢ ίϛοτͯ͠ͳ͍มߋফ͑ͪΌͬͯݩʹͤͳ͍ʂ
ϒϥϯνΛ࡞Ζ͏ Gitͷ͍ํΛ΄ͱΜͲϚελʔ͠·ͨ͠ʂ ࠷ޙʹGitͷϒϥϯνػೳΛֶͼ·͠ΐ͏ ϒϥϯνɺݱࡏͷίϐʔΛ࡞͢ΔػೳͰ͢ ػೳՃόάमਖ਼ͷࡍϒϥϯνΛͬͯ࡞ۀΛਐΊ·͢ ͬͨϒϥϯν͔Β͍ͭͰݩͷmasterϒϥϯνʹͬ ͯ͘Δ͜ͱ͕Ͱ͖·͢ masterσϑΥϧτͷϒϥϯν໊Ͱ͢
ϒϥϯνΛ࡞Ζ͏ $ git branch clean_up ϒϥϯνΛΔʹɺgit
ϒϥϯνΛΓସ͑ͯΈΑ͏ $ git checkout clean_up clean_up
ϑΝΠϧͷআ $ git rm '*.txt' $ git commit -m "Remove
all files" clean_up
ϒϥϯνͰߦͬͨ࡞ۀΛऔΓࠐ͏ $ git checkout master clean_up
ϒϥϯνͰߦͬͨ࡞ۀΛऔΓࠐ͏ $ git merge clean_up clean_up
ϒϥϯνͷআ $ git branch -d clean_up ඞཁͷͳ͘ͳͬͨclean_upϒϥϯνΛআ͠Α͏ git
࠷ޙͷpush $ git push ࠷ޙʹࠓ·ͰߦͬͨมߋΛGitHubʹөͤ͞Α͏ʂ Git͕͑ΔΑ͏ʹͳͬͨʂ
w ͱΓ͋͑ͣͬͯΈΑ͏ʂ w ίϛοτͱϒϥϯνʹ͍ͭͯਖ਼͘͠ཧղ͠Α͏ w ྺ࢙ΛऔΓࠐΉ w མึर͍ ࠓͷ༧ఆ
ίϛοτͱϒϥϯνͬͯ Ͳ͏͍͏ΈͳΜͩΖ͏ʁ
ίϛοτͱϒϥϯνΛཧղ͢Δ͜ͱͰ GitΛγϯϓϧʹཧղͰ͖·͢
ίϛοτͱʁ ίϛοτ༷ʑͳใΛ͍࣋ͬͯ·͢ w ϦϏδϣϯ w Tree
ίϛοτͱʁ ίϛοτ༷ʑͳใΛ͍࣋ͬͯ·͢ w ϦϏδϣϯ w Tree
ίϛοτʹ͕͍Δ ͭલͷίϛοτͷϦϏδϣϯΛ࣋ͭͷͰίϛοτʹ ͕͍Δʂ ৽͍͠ίϛοτ͔Βݹ͍ίϛοτ؆୯ʹ୧ΕΔ
࠷ݹͷίϛοτ·Ͱ୧ΕΔ ίϛοτΛ୧͍ͬͯ͘ͱඞͣҰ൪࠷ݹͷίϛοτ·Ͱ ୧Γண͚Δʂ ࠷ݹ ͋ΔͭͷίϛοτΛݟΕɺͦͷྺ࢙͕͔Δ
ίϛοτ͔͚ͬͨͲ ϒϥϯνʁ
୯ͳΔಛఆͷίϛοτΛࢦͨ͠ ϙΠϯλͷΑ͏ͳͷͰ͢ʂ
ϒϥϯν σϑΥϧτͷϒϥϯν໊master ϒϥϯνͷઌ಄Λࢦ͢ϦϑΝϨϯεɺ ςΩετͰϦϏδϣϯ SHA-1 ͕อଘ͞Ε͍ͯ·͢
ϒϥϯν ৽ͨͳnewͱ͍͏໊લͷϒϥϯνΛ࡞ͯ͠ΈΔ $ git branch new
ϒϥϯν $ git branch new
৽͍͠ͷ͕ग़དྷͨʂ ৽ͨͳnewͱ͍͏໊લͷϒϥϯνΛ࡞ͯ͠ΈΔ
ϒϥϯνͷجຊ͜Ε͚ͩʂ ୯ͳΔϙΠϯλͳͷͰɺϒϥϯν໊͕ ͑ΔॴϦϏδϣϯ͕͑Δ͠ ͦͷٯવΓ
ϒϥϯνͷࢬ͔Ε ͜ͷঢ়ଶ͔ΒOFXʹίϛοτ͍ͯ͘͠ͱʜʜ
ϒϥϯνͷࢬ͔Ε Μʁ
ϒϥϯνͷࢬ͔Ε ࢬ͔Εͨ͠ʂ
ϒϥϯνͷࢬ͔Ε newϒϥϯν͚ͩมߋ͞Ε masterϒϥϯνʹӨڹ͕ͳ͍ʂ
ࢲͲ͜ʹ͍ΔΜͰ͠ΐ͏͔ʜʜ git
HEADϦϑΝϨϯε $
git checkout master
HEADϦϑΝϨϯε $
git checkout master
HEADϦϑΝϨϯε HEADͷҐஔ͕ΓସΘͬͨʂ HEAD͕͍͍ͯΔϒϥϯνಛघͳಈ͖Λ͢Δ ͔Γ͍͢Α͏ʹ·ͣଞʹϒϥϯνΛͬͯΈΔ
$ git branch other
HEADϦϑΝϨϯε ͜͜Ͱίϛοτͯ͠ΈΔͱʜʜ
master
HEADͰࢀর͞Ε͍ͯΔϒϥϯν ίϛοτ͢ΔͨͼʹҠಈ͢Δ
ίϛοτͱϒϥϯνʹ͍ͭͯ ͔ͬͨʂ
w ͱΓ͋͑ͣͬͯΈΑ͏ʂ w ίϛοτͱϒϥϯνʹ͍ͭͯਖ਼͘͠ཧղ͠Α͏ w ྺ࢙ΛऔΓࠐΉ w མึर͍ ࠓͷ༧ఆ
ྺ࢙ΛऔΓࠐΉϚʔδͬͯ Ͳ͏͍͏࣌ʹ͏ΜͩΖ͏ʁ
ΘΓͱͲ͜Ͱ͏ʂ
ɾνʔϜͰ։ൃ͍ͯ͠Δ࣌ʹ ଞͷਓͷมߋΛऔΓࠐΉͱ͖ ɾਓͰ։ൃ͍ͯ͠Δ࣌ʹෳͷ ϒϥϯνΛͭʹ·ͱΊΔͱ͖
ΘΓͱΑ͋͘Δύλʔϯ Αʔ͠ɺमਖ਼ऴΘͬͨ͠αʔόʹ push
push
ͳͥpushͰ͖ͳ͍ʁ remote
repo my repo ͢Ͱʹ৽͍͠ ίϛοτ͕ʂ
͜ͷঢ়ଶͰpushͰ͖·ͤΜ Ͳͷίϛοτ͕masterϒϥϯνͷ࠷৽͔͔Βͳ͘ͳ Δ͔ΒͰ͢ ҎԼͷΑ͏ͳঢ়ଶΛ࡞Δ͜ͱग़དྷ·ͤΜ
Ͳ͏ͨ͠Β͍͍ͷʁ Ұखݩʹremote
มߋΛऔΓࠐΉ remote
repo my repo $ git pull origin master
remote repo my repo
มߋ͕औΓࠐ·Εͨʂ
remote repo my repo
$ git push origin master
remote repo my repo
pushͰ͖ͨʂ
ΈΜͳͰ։ൃ ͭͷϒϥϯνΛผʑʹมߋͨ࣌͠ɺ ଞਓͷมߋΛϚʔδͯ͠push
͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ ΘΓͱ͍Ζ͍ΖͳॴͰ͏ϚʔδͰ͕͢ɺ ࣮͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ͕͋Γ·͢ʂ • merge
͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ ΘΓͱ͍Ζ͍ΖͳॴͰ͏ϚʔδͰ͕͢ɺ ࣮͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ͕͋Γ·͢ʂ • merge
merge
$
git merge topic --ff merge
தͷਓ
ʮtopicϒϥϯνͬͯmasterͷࠩશ෦ ɹؚΜͰΔ͠ɺҰॹʹͪ͠Ό͑Α͘Ͷʁʯ merge
தͷਓ ʮϚʔδͨ͠Αʔʯ
merge
merge
͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ ΘΓͱ͍Ζ͍ΖͳॴͰ͏ϚʔδͰ͕͢ɺ ࣮͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ͕͋Γ·͢ʂ • merge
merge
merge
merge
merge
merge
merge
͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ ΘΓͱ͍Ζ͍ΖͳॴͰ͏ϚʔδͰ͕͢ɺ ࣮͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ͕͋Γ·͢ʂ • merge
merge
$ git merge topic --squash merge
தͷਓ ʮtopicͷมߋ༰Λѹॖ͠Α͏ʂʯ தͷਓʮͭͷύονʹѹॖͰ͖ͨʂʯ merge
merge
merge
merge
merge
Ϛʔδ͢Δ༰Λѹॖ͠ɺࠩΛݱࡏͷίϛοτʹ ͚ͬΔʂ ࠩεςʔδϯάΤϦΞʹͤΒΕΔ͚ͩͳͷͰɺ ίϛοτࣗͰΔඞཁ͕͋Δ merge
͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ ΘΓͱ͍Ζ͍ΖͳॴͰ͏ϚʔδͰ͕͢ɺ ࣮͍Ζ͍Ζͳྺ࢙ͷऔΓࠐΈํ͕͋Γ·͢ʂ • merge
ϦϕʔεͬͯԿʁ ϚʔδͱԿ͕ҧ͏ͷʁ
rebase '
͜Ε͕Ϧϕʔεʂ
࣮ࡍϦϕʔε͕Ͳ͏͍͏͜ͱΛ ͢Δͷ͔ͭͣͭݟ͍ͯ͜͏
rebase topicϒϥϯνΛrebase͍ͨ͠
rebase
$ git rebase master
' rebase ·ͣίϛοτͷมߋ༰ΛͦΕͧΕύονʹ͢Δ
rebase topicϒϥϯνΛmasterͱ ಉ͡ҐஔʹҠಈͤ͞Δ
rebase ࡞͓͍ͯͨ͠ύονΛͭͣͭ ॱʹద༻ͯ͠ίϛοτ͍ͯ͘͠
rebase ࠩΛద༻ͯ͠ίϛοτ
rebase '
rebase '
rebase '
ରͷϒϥϯνͷ্ʹݱࡏͷϒϥϯνΛ࡞Γ͠·͢ rebaseʹΑͬͯ࡞ΒΕͨίϛοτಉ͡༰͚ͩͲผͷ ίϛοτʹͳΔͷͰҙͰ͢ʂ git
ผͷίϛοτʹͳΔ w ϦϏδϣϯ w Tree
͍͚ͬͯͳ͍rebase ίϛοτͷใ͕มΘͬͯ͠·͏ͷͰɺ طʹpush͞Ε͍ͯΔϒϥϯνΛrebase͍͚ͯ͠·ͤΜ ଞਓ͕push
w ͱΓ͋͑ͣͬͯΈΑ͏ʂ w ίϛοτͱϒϥϯνʹ͍ͭͯਖ਼͘͠ཧղ͠Α͏ w ྺ࢙ΛऔΓࠐΉ w མึर͍ ࠓͷ༧ఆ
Gitͷ৭ʑͳٕΛֶ΅͏ʂ
͜Ε͚֮ͩ͑Α͏ $ git
gitίϚϯυͰɺGitͷΑ͘͏ίϚϯυΛҰཡ͢Δ ͜ͱ͕ग़དྷ·͢ ίϚϯυͷৄࡉͳઆ໌Λݟ͍ͨ࣌ɺmanΛར༻͠· ͠ΐ͏ ྫ͑ɺmergeίϚϯυʹ͍ͭͯৄ͘͠Γ͍ͨͱ͖ ϋΠϑϯͰܨ͛ͯೖྗ͠·͢ $ man git-merge ͜Ε͚֮ͩ͑Α͏
git
git
Ϛʔδ͢Δ࣌ʹ(JU͚ͩͰղܾͰ͖ͳ͍͜ͱ͕͋Γ·͢ ͦΕ͕ίϯϑϦΫτͰ͢ ίϯϑϦΫτͨ͠߹ਓ͕ؒղܾ͢Δඞཁ͕͋Γ·͢ ίϯϑϦΫτ͏͍ͩ ೣղܾ͠ͳ͍
ίϯϑϦΫτͨ͠ϑΝΠϧɺboth
ίϯϑϦΫτΛमਖ਼ͯ͠ɺίϛοτ͠·͢ ίϯϑϦΫτ͏͍ͩ b <<<<<<< HEAD ccc ======= c >>>>>>> topic
d b ccc d ίϯϑϦΫτղܾ࣌ʹɺίϯϑϦΫτղܾҎ্ͷ͜ͱΛͯ͠ ͍͚·ͤΜ ͲͷʹݱΕͳ͍มߋΛ͍ͯ͠ΔϚʔδΛevil
git
Φϓγϣϯͳ͠ͷgit
git
ͦΕʹgit
Ͳ͏͠Α͏ͳ͘ͳͬͨ ؒҧͬͯϒϥϯνΛফͯ͠͠·ͬͨ దʹreset
git
ㅤ ㅤ ㅤ
גࣜձࣾϛΫγΟͰ ΄ͱΜͲͷ෦ॺ͕͍ͬͯ·͢
GitHubͷPull
ྡͷਓͷGitHubͷϓϩδΣΫτΛϑΥʔΫ͠·͢ ϑΥʔΫͨ͠ϦϙδτϦΛखݩʹΫϩʔϯ͠·͢ ࡞ۀ༻ϒϥϯνΛ࡞͠·͢ มߋΛՃ͑ͯίϛοτͯ͠ϓογϡ͠·͢ GitHub͔ΒPull
w (JU#PPL w ͜Θ͘ͳ͍(JU w (JUͷΈ ͖ͤ͜ͷٕज़ه w ݟ͑ͳ͍νΧϥʲ༁ʳ(JUΛϘτϜΞοϓ͔Βཧղ͢Δ
w $PEF4DIPPM5SZ(JU ࢀߟจݙ ΈΜͳಡΜͰΈΑ͏ʂ