Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
これならしんどくないGit運用の考え方
Search
Hisateru Tanaka
August 20, 2019
Technology
21
6k
これならしんどくないGit運用の考え方
8/20(火) Git運用勉強会 presented by GeekHub (大阪)
発表スライドです
Hisateru Tanaka
August 20, 2019
Tweet
Share
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
どうなる Remix 3
tanakahisateru
2
380
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
230
哲学史とモデリング
tanakahisateru
4
870
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.6k
君たちはどうプログラミングするか
tanakahisateru
16
2.9k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
660
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
9.8k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.6k
Other Decks in Technology
See All in Technology
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
130
AI時代のインシデント対応 〜時代を切り抜ける、組織アーキテクチャ〜
jacopen
4
180
Eight Engineering Unit 紹介資料
sansan33
PRO
0
5.6k
How native lazy objects will change Doctrine and Symfony forever
beberlei
1
310
今すぐGoogle Antigravityを触りましょう
rfdnxbro
0
250
学術的根拠から読み解くNotebookLMの音声活用法
shukob
1
620
段階的に進める、 挫折しない自宅サーバ入門
yu_kod
5
2.1k
AI エージェント活用のベストプラクティスと今後の課題
asei
2
430
【ASW21-02】STAMP/CAST分析における生成AIの支援 ~羽田空港航空機衝突事故を題材として (Support of Generative AI in STAMP/CAST Analysis - A Case Study Based on the Haneda Airport Aircraft Accident -)
hianraku9498
2
490
IPv6-mostly field report from RubyKaigi 2026
sorah
0
240
Pandocでmd→pptx便利すぎワロタwww
meow_noisy
2
1.1k
進化の早すぎる生成 AI と向き合う
satohjohn
0
460
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
690
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
What's in a price? How to price your products and services
michaelherold
246
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
KATA
mclloyd
PRO
32
15k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Documentation Writing (for coders)
carmenintech
76
5.2k
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ͷӡ༻ख๏Ͱ͢
ʮཧख๏ཱ͕֬͑͢͠͞Εɺཧղ͠߹͏ྗΛආ͚Δ͜ͱ͕Ͱ͖ΔͷͰʯ ͦΜͳͷໝͩͬͯ͜ͱɺ͜Ε·Ͱͷྺ࢙͕ͣͬͱɺূ໌͠ଓ͚ͯΔ͡Όͳ͍Ͱ͔͢ ͪΌΜͱ㱠ෳࡶͰແବͷଟ͍ӡ༻ϧʔϧΛؒҧ͍ͳ͘Δ͜ͱ ͦΕͦࣗ͜ಈԽ͖͢ඇਓؒతͳߦҝ͡Όͳ͍ ֶతʹ
ΤϯδχΞͱͯ͠ʮͪΌΜͱΔʯ ਓؒͷෛ୲ΛݮΒͯ͠ɺ ΑΓຊ࣭ʹؔ৺Λ͚Δ ӡ༻ϧʔϧΛ૿͢ͱίʔυͷ࣭Լ͕Δ ࣭Λ্͛ͯϧʔϧΑΓϞϥϧͰ͍ͬͯ͘