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
MIXI ENGINEERS
PRO
May 12, 2015
Programming
47
28k
すごいGit楽しく学ぼう
blog記事:
http://alpha.mixi.co.jp/entry/20150513
MIXI ENGINEERS
PRO
May 12, 2015
Tweet
Share
More Decks by MIXI ENGINEERS
See All by MIXI ENGINEERS
スクラムマスターなしでもいい感じにスクラム開発している話
mixi_engineers
PRO
1
190
組織のデータリテラシー向上に向けて ~ MIXI データ活用ガイドラインができるまで 〜
mixi_engineers
PRO
6
190
MIXI配信取り組み
mixi_engineers
PRO
2
65
MIXIにおけるWebRTC技術の活用/Use of WebRTC Technology in MIXI
mixi_engineers
PRO
2
130
「人物ごとのアルバム」の精度改善の軌跡/Improving accuracy of albums by person
mixi_engineers
PRO
2
270
「モンスターストライク」の運営を支えるデータ分析基盤の歴史と進化 / History and evolution of the data analysis infrastructure supporting “Monster Strike” operations
mixi_engineers
PRO
3
440
【全貌公開】 MIXI の Atlassian Cloud 移行の裏側 / Behind MIXI's Migration to Atlassian Cloud
mixi_engineers
PRO
0
770
MIXI TECH NOTE #12
mixi_engineers
PRO
2
84
運営11年目タイトルを守る最強の盾の有効性と活用法
mixi_engineers
PRO
2
450
Other Decks in Programming
See All in Programming
CRUD から CQRS へ ~ 分離が可能にする柔軟性
tkawae
0
180
コンポーネントライブラリで実現する、アクセシビリティの正しい実装パターン
schktjm
1
160
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
250
Feature Flag 自動お掃除のための TypeScript プログラム変換
azrsh
PRO
2
120
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
160
TypeScript Language Service Plugin で CSS Modules の開発体験を改善する
mizdra
PRO
1
140
ドメイン駆動設計とXPで支える子どもの未来 / Domain-Driven Design and XP Supporting Children's Future
nrslib
0
340
Embracing Ruby magic
vinistock
2
300
医療系ソフトウェアのAI駆動開発
koukimiura
1
150
AI Coding Agents Enablement in TypeScript
yukukotani
10
2.3k
インプロセスQAにおいて大事にしていること / In-process QA Meetup
medley
0
190
ruby.wasmとWebSocketで遊ぼう!
lnit
0
120
Featured
See All Featured
Optimizing for Happiness
mojombo
378
70k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
The Pragmatic Product Professional
lauravandoore
33
6.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
A Tale of Four Properties
chriscoyier
159
23k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
24
2.8k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
440
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
5
590
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 "amy@mixi.co.jp" 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 \ git@github.com:<your
account>/books.git ొͨ͠ϦϞʔτϦϙδτϦɺ$
खݩͷมߋΛ্͛ͯΈΑ͏ $ git push -u origin master ϦϞʔτϒϥϯνΛࣗಈͰ͢ΔΑ͏ʹઃఆ͢Δ ͔࣍Βpull
ڞಉ։ൃ͜ͱ͡Ί $ cd .. $ git clone git@github.com:<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 ࢀߟจݙ ΈΜͳಡΜͰΈΑ͏ʂ