Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Gitで始めるバージョン管理
Search
arm4
September 21, 2018
Technology
620
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gitで始めるバージョン管理
arm4
September 21, 2018
More Decks by arm4
See All by arm4
Google Data Studio 101
fromarm4
0
190
5 Points Of Customizing Vuetify
fromarm4
4
1.4k
about abstract component design using slots of Vue.js
fromarm4
4
1.6k
laravel_lt_party_with_mokumoku_3
fromarm4
0
430
Make it happen in realtime with Laravel Echo and Pusher
fromarm4
0
1.1k
Trying to write a code with Laravel+Vue+TypeScript
fromarm4
0
600
Create a Laravel notification via Slack when batch jobs are finished
fromarm4
0
880
solving frontend issues
fromarm4
1
1.8k
Popular Vue.js UI Frameworks in 2019
fromarm4
2
900
Other Decks in Technology
See All in Technology
AIを活用するために決めた "やらないこと" - 価値に注目する / Not betting on AI
soudai
PRO
1
520
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
150
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
8
4.1k
LTのテーマ どうきめてる?〜5つの型と私のやり方〜
yama3133
1
110
データ_AIの事業の勝敗をわけるもの
nek0128
0
360
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
27
23k
Claude in Chrome 入門 / Introduction to Claude in Chrome
cielo1985
0
810
Issue 駆動でスペシャリストの意図を届ける、AI 実装のアクセシビリティ向上
thkt
0
110
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
130
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
130
Geolonia の開発現場における AIの活用について
miya0001
0
100
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
220
Featured
See All Featured
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
410
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Building the Perfect Custom Keyboard
takai
2
870
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Everyday Curiosity
cassininazir
0
320
Designing for Timeless Needs
cassininazir
1
480
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
520
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Transcript
GitͰ࢝ΊΔ όʔδϣϯཧ by Arm4
͜Ε͔Β͢͜ͱ όʔδϣϯཧͬͯʁ gitͱʁ ϦϙδτϦͱʁ ϫʔΩϯάσΟϨΫτϦͱεςʔδϯά ΤϦΞ gitཧ͞ΕͨϑΝΠϧͷঢ়ଶ gitͷجຊతͳ͍ํ ϒϥϯνʹ͍ͭͯ ଞͷΤϯδχΞͱࢄ࡞ۀ͠Α͏
ຊͷલͷҙࣄ߲ ͋ͱͰΫΠζେձ͢ΔͷͰඞཁͳ͜ͱ ϝϞΛऔΔΑ͏ʹʂ
όʔδϣϯཧͬͯʁ
͜ͷલϦϦʔε ͨ͠ਓϘλϯ ͳΜ͚ͩͲɺ ͏গ͠ΦγϟϨ UIʹ͢Δόʔ δϣϯ̎ͷ͕ ܾ·ͬͨΑʂ PGͷϕϧࢠ SEͷN౻͞Μ
όʔδϣϯ̎ ̏ϲ݄ޙͷϦϦʔ ε༧ఆͰɺͦͷ ؒʹόʔδϣϯ ̍ʹෆ۩߹͕ݟ ͔ͭͬͨΒɺόʔ δϣϯ̍ͷվम Λ͠ͳ͍ͱ͍͚ ͳ͍ΑͶ PGͷϕϧࢠ
SEͷN౻͞Μ
όʔδϣϯ̍ͷίʔυҰࣜΛͯ͠ όʔδϣϯ̎ͷ։ൃΛਐΊΔʹ Ͳ͏͢Ε͍͍͔ͳ͊ʁ /sakimori_1_release /sakimori_1_develop /sakimori_2_develop /sakimori_2_develop_nto /sakimori_2_2_develop /sakimori_2_2_20180613
खಈόʔδϣϯཧ͕ ๊͍͑ͯͨ όʔδϣϯ͕૿͍͑ͯ͘͝ͱʹɺͲΕ͕࠷৽ͰͲΕ͕ਖ਼͍͠ͷ͔ ผͰ͖ͳ͘ͳ͍ͬͯ͘ɻ ୭͕Ͳ͜Λमਖ਼ͨ͠ͷ͔͔Βͳ͍ɻ όʔδϣϯຖͷίʔυͷࠩͷநग़͕༰қ͡Όͳ͍ɻ όοΫΞοϓΛऔΓΕΔͱޙΓ͕Ͱ͖ͳ͍͕ɺࡉ͔͘όοΫ ΞοϓΛऔΓ͗͢ΔͱɺࠞཚΛট͘ɻ ಉ͡ϑΝΠϧΛಉ࣌ʹෳͷਓ͕मਖ਼͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ ্ॻ͖͢ΔͭΓͷͳ͍ϑΝΠϧΛ্ॻ͖ͯ͠͠·͏ɻ
͜͏͍͏Λղܾͯ͘͠ΕΔΑ͏ͳ όʔδϣϯཧͷπʔϧ͕ ͋ͬͨΒ͍͍ͷʹͳ͊ ʊਓਓਓਓਓਓਓਓਓਓਓਓਓਓʊ ʼɹόʔδϣϯཧπʔϧരɹʻ ʉY^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Yʉ
࠷ॳʹొͨ͠ όʔδϣϯཧγεςϜͷߏ ͦΕͧΕͷ࡞ۀऀɺαʔ όʔʹ͋ΔதԝϦϙδτϦ ͔ΒιʔείʔυΛ࣋ͬͯ ͖ͯฤू͠ɺฤू͕ऴΘͬ ͨΒதԝϦϙδτϦʹ ө͢Δͱ͍͏ߏɻ ϦϙδτϦʹมߋͷཤྺ ͕ه͞ΕΔɻ
ूதܕόʔδϣϯཧγεςϜ Subversion CVS Perforce
͜ΕͰ ಉ͡ϑΝΠϧͷιʔείʔυΛ ಉ࣌ʹमਖ਼Ͱ͖ΔΑ͏ʹͳͬͨ͠ όʔδϣϯཧ ؆୯ʹͰ͖ΔΑ͏ʹͳͬͨʂ ͔͠͠ ूதܕόʔδϣϯཧγεςϜʹ ͕͋ͬͨɾɾɾ
ूதܕόʔδϣϯཧγεςϜͷ தԝϦϙδτϦͷ͋Δαʔό͕μϯ͢Δͱɺڞ ಉ࡞ۀ͕Ͱ͖ͳ͘ͳΔɻ ࡞ۀཤྺΛهͨ͠தԝϦϙδτϦ͕োͳͲͷ ཧ༝Ͱഁଛ͢Δͱɺࠓ·Ͱͷཤྺ͕ফࣦͯ͠͠· ͏ɻ αʔόʹଓͰ͖ͳ͍Α͏ͳωοτϫʔΫͷো ͕͋Δͱ࡞ۀཤྺΛه͢Δ͜ͱ͕Ͱ͖ͳ͍ɻ
͜ΕΒͷΛղܾ͢Δ όʔδϣϯཧγεςϜ͕ ੜ
gitͱʁ
ࢄܕόʔδϣϯཧγεςϜ Git MercurialʢϚʔΩϡϦΞϧʣ Bazaarʢόβʔʣ
ࢄܕόʔδϣϯཧγεςϜͷ ߏ ࢄܕͰɺϩʔΧϧڥ ʢࣗͷPCʣʹมߋཤ ྺΛؚΉશͳϦϙδτϦ ͷෳ͕࡞͞ΕΔͱ͍͏ Έɻ ωοτϫʔΫʹଓ͍ͯ͠ ͳͯ͘ཤྺͷௐࠪมߋ ͷهΛߦ͏ࣄ͕ग़དྷΔɻ
Git ։ൃऀLinus TorvaldsʢϦʔφεɾτʔόϧζʣ ϦʔφεLinuxΧʔωϧͷ։ൃऀͰ͋Δ LinuxΧʔωϧͷιʔείʔυཧʹ༻͍ΔͨΊ ʹ2005ʹ։ൃ͞Εͨࢄܕͷόʔδϣϯཧ γεςϜ
ϦϙδτϦͱʁ
repository ʲ໊ʳ 1. ऩೲʦอଘʧॴɺݿ 2. തؗɺඒज़ؗ 3. Լຒॴɺุ 4. ʤࣝͳͲͷʥๅݿɺ๛ͳ͑
ɾA griot in West Africa is a repository of oral tradition. : ΞϑϦΧͷάϦΦޱ ಄ঝͷๅݿͰ͋Δɻ 5. ʤൿີΛଧͪ໌͚ΒΕΔʥ৴པͰ͖Δਓ
ϦϙδτϦ ϓϩδΣΫτͷϑΝΠϧσΟϨΫτϦͷ ঢ়ଶΛهͯ͠อ͓ͯ͘͠ॴ
̎छྨͷϦϙδτϦ ϦϞʔτϦϙδτϦ αʔόʹઃஔͯ͠ෳਓͰίʔυΛڞ༗͢Δͨ ΊͷϦϙδτϦ ϩʔΧϧϦϙδτϦ ֤ΤϯδχΞ͕ͦΕͧΕͷϩʔΧϧPC্Ͱ͏ ϦϙδτϦ
ϦϙδτϦʹ֨ೲ͢Δͷ ΞϓϦέʔγϣϯͷιʔείʔυ ΞϓϦέʔγϣϯʹ༻͢Δը૾ ଞͷਓ͕ΞϓϦέʔγϣϯͷߏங දࣔʹඞཁͳͷ
ϦϙδτϦʹ֨ೲ͠ͳ͍ͷ ͦΕͧΕ͕Πϯετʔϧͯ͠͏ Α͏ͳ֤छϥΠϒϥϦ ݸਓతͳΤσΟλͳͲͷઃఆϑΝ Πϧ Mac OSͰউखʹ࡞ΒΕΔΰϛϑΝ Πϧʢ.DS_Storeʣ Do Not
Commit Please!!
ϫʔΩϯάσΟϨΫτϦͱ εςʔδϯάΤϦΞ
ϑΝΠϧͷঢ়ଶΛཧ͢Δ ̏ͭͷΤϦΞ ϫʔΩϯάσΟϨΫτϦ ʢ࡞ۀσΟϨΫτϦɺ࡞ۀπϦʔʣ ϦϙδτϦ͔ΒऔΓग़͞ΕͨҰͭͷಛఆͷόʔδϣϯͷϑΝΠϧ܈ εςʔδϯάΤϦΞ ʢΠϯσοΫεʣ ࣍ͷίϛοτʹؚ·͍ͤͨϑΝΠϧͷमਖ਼ཤྺͷใΛه͓ͯ͘͠ ॴ ϦϙδτϦ
ʢGitσΟϨΫτϦʣ όʔδϣϯ͝ͱͷϑΝΠϧͷमਖ਼ཤྺΛอ͓ͯ͘͠ॴ
ཧతͳॴ /.git ~ /objects index ~ index.html /images /css /js
ϫʔΩϯά σΟϨΫτϦ εςʔδϯά ΤϦΞ ϦϙδτϦ
ϫʔΫϑϩʔ
gitཧ͞ΕͨϑΝΠϧͷঢ়ଶ
ະ ( untracked ) มߋ͞Ε͍ͯͳ͍ ( unmodified ) มߋ͞Ε͍ͯΔ (
modified ) εςʔδ͞Ε͍ͯΔ ( staged )
gitͷجຊతͳ͍ํ
gitͷΠϯετʔϧ MacʹΠϯετʔϧ͢Δ߹ɺhomebrewͰΠϯε τʔϧ CentOSʹΠϯετʔϧ͢Δ߹ɺҎԼͷϖʔδ ͳͲΛࢀߟʹyumͰΠϯετʔϧ https://qiita.com/wslife/items/7572cdba2d60a00a3ffc
ॳظઃఆ Ϣʔβ໊ɺE-mailΞυϨεɺΧϥʔͷઃఆ࠷ݶ͓ͯ͘͠ http://blog.asial.co.jp/845 git config --global user.name "hoge" git config
--global user.email
[email protected]
git config --global color.ui auto git config --list git config
ϔϧϓΛ֬ೝ͢Δ git help
gitϦϙδτϦΛ࡞Δ(ϦϙδτϦͷॳظԽ) git init
ϑΝΠϧͷঢ়ଶͷ֬ೝ git status
ϑΝΠϧͷঢ়ଶΛදུ͢ه ?? = untracked ' ' = unmodified M =
modified A = added D = deleted R = renamed C = copied U = updated but unmerged
εςʔδϯάΤϦΞͷొ git add
มߋΛϦϙδτϦʹه͢Δ git commit
ϑΝΠϧΛίϛοτ͠Εͨͱ͖ git commit −−amend
ϑΝΠϧΛআ͠gitͷ͔Β֎͢ git rm ※gitʹ·ͩ͞Ε͍ͯͳ͍ϑΝΠϧɺ͜ͷίϚϯυͰ আͰ͖ͳ͍ɻ ※มߋ͕εςʔδ͞Ε͍ͯΔϑΝΠϧɺ-f ΦϓγϣϯͰڧ ੍తʹআ͠ͳ͚ΕͳΒͳ͍ɻ
ϑΝΠϧΛ͠gitͷ͔Β֎͢ git rm −−cached
ίϛοτཤྺΛ֬ೝ͢Δ git log
ศརͳlogͷΦϓγϣϯ git log -p diffΛՃ͑ͨίϛοτϩάʢύονΛදࣔʣ git log -2 දࣔ͢ΔίϛοτϩάͷΛࢦఆ git
log --stat มߋ͞ΕͨϑΝΠϧΛදࣔ(౷ܭใɺεςʔλεΛදࣔ) git log --pretty=oneline ίϛοτϩάΛ̍ߦͰදࣔ git log --pretty=format:"%h - %an, %ar : %s" ϋογϡ - ίϛοτͨ͠ਓͷ໊લ, ૬ର : ໊݅
git log --graph ϒϥϯνͷϚʔδཤྺΛΞεΩʔάϥϑͰදࣔͯ͘͠ΕΔ git log --since=2weeks git log --since=2018-06-07
͍͔ͭΒͰҾֻ͚ͬΔ git log --until=2weeks ͍ͭ·ͰͰҾֻ͚ͬΔ git log --author=beruko ίϛοτͨ͠ਓͰҾֻ͚ͬΔ git log --grep=ސ٬ ໊݅ͰҾֻ͚ͬΔ git log database/seeds/MenuSeeder.php มߋͷ͋ͬͨϑΝΠϧͷύεͰҾֻ͚ͬΔ git log --pretty="%h %an -%s" --author=nto --since="2018-05-01" -- until="2018-05-31" 20185݄ʹnto͞Μͷίϛοτͨ͠ཤྺͷΈΛදࣔ
ࠩΛ֬ೝ͢Δ git diff
༷ʑͳdiffΛදࣔ͢Δ git diff ݱࡏͷϫʔΫσΟϨΫτϦͱεςʔδϯάΤϦΞͱͷࠩΛදࣔ git diff --cached git diff --staged
εςʔδϯάΤϦΞͱ࠷৽ͷίϛοτ(HEAD)ͱͷࠩΛදࣔ git diff HEAD ݱࡏͷϫʔΫσΟϨΫτϦͱ࠷৽ͷίϛοτ(HEAD)ͷࠩΛදࣔ͢Δ git diff HEAD^ git diff HEAD^..HEAD ࠷৽ͷίϛοτͱ࠷৽ͷίϛοτͷͻͱͭલͱͷࠩΛදࣔ͢Δ git diff <ίϛοτϋογϡ> ݱࡏͷϫʔΫσΟϨΫτϦͱಛఆͷίϛοτͱͷࠩΛදࣔ
git diff <ίϛοτϋογϡ>..<ίϛοτϋογϡ> ίϛοτಉ࢜Λൺֱͨࠩ͠Λදࣔ git diff <ϒϥϯν໊>..<ϒϥϯν໊> ϒϥϯνಉ࢜ͷࠩΛදࣔ git diff
-- <ϑΝΠϧͷύε> ಛఆͷύεͷΈͷdiffΛදࣔɻύεͷΈࢦఆ͢Δ߹--লུ Մೳ git diff <ϒϥϯν໊>..<ϒϥϯν໊> -- <ϑΝΠϧͷύε> ಛఆͷϑΝΠϧΛผͷϒϥϯνͱൺֱͨࠩ͠Λදࣔ git diff --word-diff ࠩΛจࣈϨϕϧͰൺֱ͢Δ git diff --diff-filter=M मਖ਼ͨ͠ϑΝΠϧͷdiffͷΈΛදࣔ͢ΔΦϓγϣϯ
εςʔδͨ͠ϑΝΠϧͷऔΓফ͠ git reset ※git resetΦϓγϣϯΛ͚࣮ͭͯߦ͢ΔͱେมةݥͳίϚϯ υͳͷͰؒҧ͑ͯΦϓγϣϯΛ͚ͭͳ͍Α͏ʹҙʂ
ϫʔΩϯάσΟϨΫτϦͷ มߋΛऔΓফ͢ git checkout -- .