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
Hisateru Tanaka
August 20, 2019
Technology
21
5.9k
これならしんどくないGit運用の考え方
8/20(火) Git運用勉強会 presented by GeekHub (大阪)
発表スライドです
Hisateru Tanaka
August 20, 2019
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
180
哲学史とモデリング
tanakahisateru
4
790
オブジェクト指向宗教史
tanakahisateru
32
17k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.1k
君たちはどうプログラミングするか
tanakahisateru
16
2.6k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
620
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.5k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.5k
まんがのかきかた
tanakahisateru
8
710
Other Decks in Technology
See All in Technology
Winning at PHP in Production in 2025
beberlei
1
280
MySQL InnoDB Data Recovery - The Last Resort
lefred
0
110
今日からはじめるプラットフォームエンジニアリング
jacopen
8
2k
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
2
930
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
470
さくらのクラウド開発の裏側
metakoma
PRO
0
340
newmo の創業を支える Software Architecture と Platform Engineering
110y
1
320
AI 코딩 에이전트 더 똑똑하게 쓰기
nacyot
0
540
『ささAI』ネタづくりをささえるAI📝 (にぼしいわし担当:GIFTech2025)
masapyon1212
0
110
LLM アプリケーションのためのクラウドセキュリティ - CSPM の実装ポイント-
osakatechlab
0
350
ビジネスとデザインとエンジニアリングを繋ぐために 一人のエンジニアは何ができるか / What can a single engineer do to connect business, design, and engineering?
kaminashi
2
890
Computer Use〜OpenAIとAnthropicの比較と将来の展望〜
pharma_x_tech
6
1k
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Rails Girls Zürich Keynote
gr2m
94
13k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
YesSQL, Process and Tooling at Scale
rocio
172
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
A better future with KSS
kneath
239
17k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
Why Our Code Smells
bkeepers
PRO
336
57k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
420
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Transcript
͜ΕͳΒ͠ΜͲ͘ͳ͍ (JUӡ༻ͷߟ͑ํ ʙ͘͠͠ͳ͍ίπͪΌΜͱΔ͜ͱʙ
ͨͳ͔ͻͯ͞Δ @tanakahisateru ॴ
ͬͪ͜ͷ΄͏͕༗໊͔
͋͘·ͰɺฐࣾͰ͏·͍ͬͯ͘Δߟ͑ํͰ͢
ӡ༻͢Δ͏͑Ͱຊʹ͍͠ͷԿ͔ ❌ػೳͷशಘ ⭕ΠϨΪϡϥʔରԠ ⭐ҙຯཧղͷڞ༗
P0ʮΈΜͳͰ(JUͷػೳΛϚελʔ͍ͯ͜͠ͳͦ͏ʯ ❌ ʮͰ͖ΔʯʮݴΘΕ͍ͯΔʯ͔Βͱ͍ͬͯɺͦΕΒ͕ શͯʮ͖͢ʯ͜ͱͱ͔͗Βͳ͍ɻ
໎৴ ͱΈͳ͍ͯ͠Δ͜ͱ w ࢄཧͳͷͰத৺ਓ͕͍ͳͯ͘Α͍ w ίϛοτখࠁΈͰ͋Ε͋Δ΄ͲΑ͍ w ཤྺվมʹͳΔͷͰQVTIGΛ͍͚ͯ͠ͳ͍Gةݥͩ w NBTUFSʹίϛοτΛੵΜͰ͍͚ͳ͍
w ৗʹNFSHFOP⒎ͰϚʔδཤྺΛ͖͢ w ͯ͢ͷίϛοτͱϒϥϯνΛ՝ཧνέοτʹؔ࿈͚
w བྷΈ߹ͬͨෳࡶͳίϛοτάϥϑɺ͍͍ͬͨ୭͕ಡΊΔͷ͔ w ʮमਖ਼ΕͿΜʯ͕ผʹͳ͍ͬͯΔίϛοτɺ᠘Ͱ͔͠ͳ͍ w ՃՃͰϋϦϘςʹͳͬͨNBTUFSͷίʔυΛݟͯ४ڌ͢Δ Ұ؏ੑ͕ w ػೳΛशಘ͢Δͷ͕ʮ͍͠ʯͷͰͳ͘ɺͦͷػೳͰԿΛ͢Δ͔ w
ʮҙຯΒΜ͕ϧʔϧ͔ͩΒकΕʯͱԡ͚͠ΒΕΔͷ͕ʮ͠ ΜͲ͍ʯͷਖ਼ମ ͳΜ͔ͩཧͰ͖ͦ͏ͩͧͱ͍͍ؾʹͳ͍ͬͯΔ ͚ͩ͡Όͳ͍ͷ͔ɺΑ͘ߟ͑ͯΈΑ͏ɻ
ਅ࣮ ͍ͬ͡͞ʹ͏·͘ճ͍ͬͯΔߟ͑ w શͯͷมߋΛϨϏϡʔͰ͖ɺΦʔφʔγοϓΛ࣋ͬͨϚʔδϟʔ͕ඞཁ w ࡞ۀதͷࢼߦࡨޡཁΒͳ͍ɻNBTUFSʹର͢Δมߋͷ࠷ऴܾఆ͚ͩΑͤ͜ w ࡞ۀϒϥϯνݸਓͰઐ༗ɻίϛοτվมGܴɻগ͠ͰϨϏϡʔ͢͠ ͘͢Δ w
Ϧʔυ։ൃऀৗʹNBTUFSΛϦϑΝΫλͯ͠ΫϦʔϯʹ͓ͯ͘͠ νέο τෆཁ w جຊNBTUFSʹྻੵΈ͢Δɻਓؒذ͕ۤखɻίϯϑϦΫτϦϕʔε Ͱղফ͓ͯ͘͠ w ࡞ۀͷओͱͳΔίϛοτͷΈɺ՝ཧͱؔ࿈͚Δɻաͳใίϛϡ χέʔγϣϯϊΠζʹͳΔ
ͦΕͧΕൺͯΈΔ
1 ࢄཧͳͷͰத৺ਓ͕͍ͳͯ͘Α͍ WT શͯͷมߋΛϨϏϡʔͰ͖ɺΦʔφʔγοϓΛ࣋ͬͨϚʔδϟʔ͕ඞཁ ୭ʹฉ͍ͨΒ͍͍͔͙͢Θ͔Δ͠ΜͲ͘ͳ͍ ϦʔμʔҎ֎ͷϝϯόʔʹεΩϧͷΒ͖͕ͭ͋ͬͯͳ͠ ଐਓԽ /P ϦʔμʔશମΛཧղ͍ͯ͠Δ;ͭ͏ਓؒͷ͡Όແཧ Ͳ͏͢Δ͔͕ࣗΕ͍ͯͯޙͰಡΊΘ͔ΔΑ͏ৗʹཧ
ଐਓԽ͠ͳ͍ίʔυΛ͍ͯ͘͠།Ұͷํ๏
ฉ͍ͨଐਓԽΛආ͚Α͏ͱͯ͠ɺ࡞ۀͱϨϏϡʔͷϖΞΛຖճม͑ͨΒɺ ୭શମ૾ΛѲͰ͖ͳ͘ͳͬͨ जΕʹ৮ΔΑ͏ʹߦύονɺಈ͚͍͍ɺʹͳ͍ͬͯ͘ ີ݁߹ͱॏෳͷԹচ ཧͷํཱ͕ͨͳ͍ϋϦϘς ͦΕͧΕͷ෦͕ɺॻ͍ͨਓ͔͠Θ͔Βͳ͍ ·͞ʹଐਓԽ ଐਓԽશһ͕ແʹͳΔ͜ͱͷཪฦ͠
2 ίϛοτখࠁΈͰ͋Ε͋Δ΄ͲΑ͍ WT ࡞ۀதͷࢼߦࡨޡཁΒͳ͍ɻNBTUFSʹର͢Δมߋͷ࠷ऴܾఆ͚ͩΑͤ͜ ίϛοτͷཻ͕໌֬͠ΜͲ͘ͳ͍ w ࡞ۀऀ͕ʮͬͺΓ͜͏͠Α͏ʯͱ͋Ε͜ΕͬͨܦҢΛ͢ҙຯ શ͘ແ͍ w ϚʔδϟʔɺΓ͍ͨ͜ͱͷຊ࣭Λ
ΞτϛοΫʹ ද͢ɺՄಡͳ ͚͕ࠩͩཉ͍͠ ޙͰؾ͍ͮͨमਖ਼͍ͣΕ͔ͷదͳίϛοτʹpYVQͰࠞͥࠐΉ ޙͰTRVBTIpYVQͰ͖Δ༨͕͋Δͱ͍͏ҙຯͰɺখ͞ͳί ϛοτڊେίϛοτΑΓϚγ
3ཤྺվมʹͳΔͷͰQVTIGΛ͍͚ͯ͠ͳ͍Gةݥͩ WT ࡞ۀϒϥϯνݸਓͰઐ༗ɻίϛοτվมGܴɻগ͠ͰϨϏϡʔ͘͢͢͠Δ ϛεͬͯͯޙͰͳ͔ͬͨ͜ͱʹͰ͖Δ ͠ΜͲ͘ͳ͍ ͋Ε͜ΕͬͨܦҢෆཁͳͷͰɺ࡞ۀཤྺͥͻཧվมͯͩ͘͠ ͍͞ ϦϞʔτͷ্ॻ͖͕ා͍͔ΒGPSDFXJUIMFBTFΛ͑ QVTIGͰଞਓͷίϛοτΛফͯ͠͠·͏৺Λ͍ͯ͠Δ࣌Ͱɺ͢
Ͱʹؒҧͬͯ·͢ ͻͱͭͷϒϥϯνʹෳͷਓ͕ॻ͖ࠐΉ4VCWFSTJPOͷUSVOLͰ ͔ͦ͢Ε
4 NBTUFSʹίϛοτΛੵΜͰ͍͚ͳ͍ WT Ϧʔυ։ൃऀৗʹNBTUFSΛϦϑΝΫλͯ͠ΫϦʔϯʹ͓ͯ͘͠ νέοτෆཁ ෛ࠴αΫαΫฦࡁͰ͖Δ͠ΜͲ͘ͳ͍ ͻͱͭͷϒϥϯνͷॴ༗ऀਓ͚ͩ ͭ·ΓNBTUFSͷॴ༗ऀϚʔδϟʔϦʔυ։ൃऀ Ϧʔυ։ൃऀʹɺ͍ͭ୭͕ϒϥϯνΛ͍͍ͬͯঢ়ଶΛҡ࣋͢Δ ͕͋Δ
ˢ ίʔυͷҰ؏ੑΛΩʔϓ͓͔ͯ͠ͳ͍ͱɺಡΜͩਓ͕Կʹशͬͯॻ͘ ͖͔໎͏͔Β ίʔυελΠϧɺEPDͱ࣮ͷ߹ੑɺม໊ͷ๏ଇੑɺͳͲ
͠NBTUFS͕ຊʹΫϦʔϯͳΒɺ࡞ۀϒϥϯνʹࣄલϦϑΝΫλͷ ఔ͕ඞཁͳ͘ͳΔ ຊ࣭తͳίϛοτ͚ͩͰࡁΉͷͰɺ࡞ۀૣ͍͠ϨϏϡʔ͍͢͠ ͪΖΜɺϦʔυࣗ৴͕Δػೳมߋʹ͍ͭͯɺ ࡞ۀऀͱಉ͡Α͏ʹϒϥϯνΛΔ͖Ͱ͢Α
5 ৗʹNFSHFOP⒎ͰϚʔδཤྺΛ͖͢ WT جຊNBTUFSʹྻੵΈ͢Δɻਓؒذ͕ۤखɻ ίϯϑϦΫτϦϕʔεͰղফ͓ͯ͘͠ มߋॱংΘ͔Γ͍͢ϚʔδࣄނݮΔ ͠ΜͲ͘ͳ͍ ϚʔδίϛοτΛͨ͘͠ͳΔ৺ཧ w ϒϥϯνʹҙຯΛٻΊ͍ͯΔ͔Β
w ίϛοτ͕ҙຯΛද͢ͱࢥ͍ͬͯͳ͍ w ਐḿ͋Δײʹਁ͍ͬͯΔ͚ͩͰɺதʹڵຯΛ͍࣋ͬͯͳ͍ ˢٯͰ͢ ϒϥϯνͨͩͷഔମɺෆՄͳίϛοτ͕ͦ͜ຊ࣭
CMBNFͨ͠ͱ͖ಘΒΕΔͷͭͷίϛοτ ಉ࣌ʹมߋ͞ΕͨϑΝΠϧͳΒ͙͢ʹΘ͔Δ ͚ͲɺͲͷϚʔδίϛοτͰNBTUFSʹೖ͔ͬͨɺͦͷͱ͖ͷ࡞ۀϒϥϯ νશମͷࠩʜ લޙͰࢬ͔Ε͠·͍ͬͯͨ͘Βɺ͏ਖ਼͘͠ಡΊΔਓ͍·ͤΜ
࡞ۀϒϥϯνΛNBTUFSͷ)&"%ʹϦϕʔε ʜͳΒɺ్தͰى͖ΔίϯϑϦΫτղফɺ࡞ۀϒϥϯνͷ NBTUFSʹؒҧ͍͕ೖΔϦεΫ͕ͳ͍ ࡞ۀϒϥϯνͳΒɺQVTIޙςετࣦഊ͠์Ͱ͢ લ͠ͰϦϕʔεͨ͠ͷΛɺ͞Βʹ࡞ۀܧଓ͢Δ༨͋Γ·͢ ϚʔδίϛοτͰͷίϯϑϦΫτղফ͢Δͱʜ ࠷ޙͷ࠷ޙͰNBTUFS্ͷҰൃউෛ ޙͰϛεʹؾ͍ͮͯɺऔΓฦ͕͔ͭ͠ͳ͍ ίʔυߦΛͯͯ͢͠ɺҙຯతͳໃ६ʹΑΔόάͷϦεΫ͕͋Γ·͢
ͯ͢ͷίϛοτͱϒϥϯνΛ՝ཧνέοτʹؔ࿈͚Α WT ࡞ۀͷओͱͳΔίϛοτͷΈɺ՝ཧͱؔ࿈͚Δɻ աͳใίϛϡχέʔγϣϯϊΠζʹͳΔ ͍ΒΜίϛοτݟͳ͍͍ͯ͘͠ΜͲ͘ͳ͍ ࡞ۀϒϥϯνʹɺຊʹΓ͍ͨ͜ͱҎ֎ͷίϛοτ͕ೖΔ w NBTUFSʹ·ͩΠέͯͳ͍ίʔυ͕͋ͬͨͷΛ͔ͯ͠Β w ఆ͞Εͯͳ͔֦ͬͨுͷԼ४උ͕ඞཁɺͳͲ
શ෦͚͍ؔͯͨΒɺJTTVFϖʔδ্ͰɺԿ͕େࣄͳؔ࿈ίϛοτ ͳͷ͔Θ͔Βͳ͘ͳΔ Ϧϕʔε࠶QVTI͕ى͖Δͱ͞Βʹࠈ ͚ͦ͘ʹશ෦ͨ͘͠ͳΔͷɺେࣄͳίϛοτΛΞϐʔϧ͍ͨ͠ ͱ͍͏ҙ͕ࣝͳ͍ূڌ 6
ྻੵΈ্͛ʹͨ͠ͱ͖ɺ՝ཧͱϦϯΫ͠ͳ͍ͦͷଞͷίϛοτɺ Ϧʔυ։ൃऀͷϦϑΝΫλίϛοτͱಉ͡Ґஔ͚ͮʹͳΔ ͱͻͱͭͷϒϥϯνͩͬͨ෦ ϦϑΝΫλ ϦϑΝΫλ
ؾ͖ͮ·͔ͨ͠ 044ϓϩδΣΫτͷϩάɺΈͳ͞Μ͍͍ͩͨ͜͏ݟͯ·͢ΑͶ (JU)VCͷ044ϓϩδΣΫτͬͱҰൠతͳܗͷ(JUӡ༻ Ͱ͖ΔਓͳΒΈΜͳΑͬͯ͘ΔύλʔϯͲΜͳಠࣗӡ༻ϧʔϧΑΓڧྗ ཧղͷώϯτ ίϛοτΉ͔͠ύονϑΝΠϧͩͬͨͷ ϒϥϯνͷϓϧϦΫύονϑΝΠϧΛఴ͍ͯͨ͠ϝʔϧ
044Ͱͷ(JU࠷େͷϝϦοτ ָ؍తϩοΫઓུ ൵؍తϩοΫ ୭͔͕ϦιʔεΛѲͬͨΒɺଞͷਓ࡞ۀ։࢝Λͨͳ͍ͯ͘ ͚ͳ͍ ָ؍తϩοΫ ୭Ͱ͍ͭͰ࡞ۀΛ࢝ΊΒΕΔɻ݁Ռతʹڝ߹ͨ͠߹ͷΈɺ ૣ͍ͷউͪ ˢ ޙͰڝ߹͠ͳ͚Εฒྻޮ
Ͳ͏ͬͯڝ߹Λආ͚Δͷ͔ ʮϞδϡʔϧ͕มߋཧ༝ʹରͯ͠ด͍ͯ͡Δʯ Α͏ʹ͢Δ w 40-*%ͷ։์ดݪଇ 0$1 ͷผͷݴ͍ํ w 0$1֦ுʹରͯ͠Φʔϓϯʹɺมߋʹରͯ͠Ϋϩʔζʹ w
ͭ·Γˠ͋ΔϞδϡʔϧΛมߋ͍ͨ͠ͱ͖ɺଞͷϞδϡʔϧʹมߋΛՃ͑Δ ඞཁ͕͋Δͷμϝͳ͚ํͰ͢ /Pີ݁߹ :FTૄ݁߹
ͦΕʹͨͬͯ͠Ϧʔμʔͷ ଘࡏେ͖͗͢ͳ͍ w ཧ্ͷݖݶ͚ͩݟΕɺͱͯڧ͍͠େ͖͍ͷ͔֬ w ͍Ͱ͜Εɺөըಜͱಉ͡ͱ͍͑Ͳ͏ w ֤ϝϯόʔɺऀͰ͋ΓΧϝϥͰ͋ΓͦΕͧΕɺ ಜ͚ͩͰͰ͖ͳ͍͜ͱʹೳྗΛൃش͢ΔΛ͍࣋ͬͯΔ
w ಜશελοϑͷՌʹΛ௨ͯ͠ɺཧղ͠ɺత֬ͳࢦࣔΛग़͢ w ࣗ͘͝વͳͷͮ͘ΓͷϓϩηεͰ͢Ͷ ͠ɺ৬্͕ͳ͚ͩͷແೳ͕ಜʹͳͬͯɺཧղͳ͠ͰөըΛࡱͬͨΒ͍͏Ͷ
ͪΌΜͱ w ೳྗͱײΛ࣋ͬͨϦʔυ։ൃऀΛཱͯͯ৴པ͢Δ w શମΛঠѲ͢Δ͔Βͦ͜ଐਓԽ͠ͳ͍ίʔυΛͤΔ w ܗࣜతཧͱΤϏσϯεओମతͳྀͷܧଓ ˠʹͭͳ͕Δ w ίϛοτҙਤͷୡʹ͏㱠ػցతͳ࣌ܥྻόοΫΞοϓ
w ίϯϑϦΫτରࡦಁ໌ੑૄ݁߹0$1 ˢͬͯܧଓతʹϦϑΝΫλ
w ҙࣝߴ͍Ͱ͔͢ w ͰɺΤϯδχΞͱͯͨ͠Γલͷૉͳ͜ͱͰ͢ΑͶ w ϓϩδΣΫτͷͦͦͷૉੑΛྑ͘͢Δ͜ͱ͕ɺͬͱ ޮՌͷߴ͍(JUͷӡ༻ख๏Ͱ͢
ʮཧख๏ཱ͕֬͑͢͠͞Εɺཧղ͠߹͏ྗΛආ͚Δ͜ͱ͕Ͱ͖ΔͷͰʯ ͦΜͳͷໝͩͬͯ͜ͱɺ͜Ε·Ͱͷྺ࢙͕ͣͬͱɺূ໌͠ଓ͚ͯΔ͡Όͳ͍Ͱ͔͢ ͪΌΜͱ㱠ෳࡶͰແବͷଟ͍ӡ༻ϧʔϧΛؒҧ͍ͳ͘Δ͜ͱ ͦΕͦࣗ͜ಈԽ͖͢ඇਓؒతͳߦҝ͡Όͳ͍ ֶతʹ
ΤϯδχΞͱͯ͠ʮͪΌΜͱΔʯ ਓؒͷෛ୲ΛݮΒͯ͠ɺ ΑΓຊ࣭ʹؔ৺Λ͚Δ ӡ༻ϧʔϧΛ૿͢ͱίʔυͷ࣭Լ͕Δ ࣭Λ্͛ͯϧʔϧΑΓϞϥϧͰ͍ͬͯ͘