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
6k
21
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
これならしんどくないGit運用の考え方
8/20(火) Git運用勉強会 presented by GeekHub (大阪)
発表スライドです
Hisateru Tanaka
August 20, 2019
More Decks by Hisateru Tanaka
See All by Hisateru Tanaka
どうなる Remix 3
tanakahisateru
2
530
なまけものオバケたち -PHP 8.4 に入った新機能の紹介-
tanakahisateru
2
280
哲学史とモデリング
tanakahisateru
4
980
オブジェクト指向宗教史
tanakahisateru
32
18k
ほげ言語にあってPHPにない機能
tanakahisateru
6
3.9k
君たちはどうプログラミングするか
tanakahisateru
16
3.1k
デバッグ用ロガーの注入どうする?
tanakahisateru
2
710
アンドキュメンテッド ちょうぜつソフトウェア 設計入門 「オブジェクト指向に定義はない」のか?
tanakahisateru
25
10k
ちょうぜつ改め21世紀ふつうのソフトウェア設計
tanakahisateru
14
8.7k
Other Decks in Technology
See All in Technology
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
720
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
RAG を使わないという選択肢
tatsutaka
1
150
新規事業を牽引する技術選定 〜フルスタックTypeScript開発の実践事例〜
nullnull
3
380
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
580
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
140
手塩にかけりゃいいってもんじゃない
ming_ayami
0
240
DevOps Agentで始めるAWS運用 〜フロンティアエージェントが変える運用の現場〜
nyankotaro
1
380
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.9k
価格.comをAI駆動で全面刷新する ー 30年分の技術的負債を返し、次の30年の土台をつくる ー / AI Engineering Summit Tokyo 2026
tkyowa
53
59k
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
140
SIer20年! 培ったスキルがスタートアップで輝く時
shucho0103
0
830
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
First, design no harm
axbom
PRO
2
1.2k
Scaling GitHub
holman
464
140k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
830
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Done Done
chrislema
186
16k
Optimizing for Happiness
mojombo
378
71k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.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ͷӡ༻ख๏Ͱ͢
ʮཧख๏ཱ͕֬͑͢͠͞Εɺཧղ͠߹͏ྗΛආ͚Δ͜ͱ͕Ͱ͖ΔͷͰʯ ͦΜͳͷໝͩͬͯ͜ͱɺ͜Ε·Ͱͷྺ࢙͕ͣͬͱɺূ໌͠ଓ͚ͯΔ͡Όͳ͍Ͱ͔͢ ͪΌΜͱ㱠ෳࡶͰແବͷଟ͍ӡ༻ϧʔϧΛؒҧ͍ͳ͘Δ͜ͱ ͦΕͦࣗ͜ಈԽ͖͢ඇਓؒతͳߦҝ͡Όͳ͍ ֶతʹ
ΤϯδχΞͱͯ͠ʮͪΌΜͱΔʯ ਓؒͷෛ୲ΛݮΒͯ͠ɺ ΑΓຊ࣭ʹؔ৺Λ͚Δ ӡ༻ϧʔϧΛ૿͢ͱίʔυͷ࣭Լ͕Δ ࣭Λ্͛ͯϧʔϧΑΓϞϥϧͰ͍ͬͯ͘