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
GitHubハンズオン中級
Search
hikarut
April 28, 2019
Programming
0
99
GitHubハンズオン中級
hikarut
April 28, 2019
Tweet
Share
More Decks by hikarut
See All by hikarut
データ分析のためのSQL勉強会 〜実践編〜
hikarut
9
11k
実演で理解するビジネスパーソンのためのSQL入門
hikarut
1
170
データ分析力を高めるビジネスパーソンのためのSQL入門
hikarut
1
360
SQLを活用したデータ分析におけるChatGPTの活用法
hikarut
11
4k
『データ分析力を高める ビジネスパーソンのためのSQL入門』出版記念セミナー
hikarut
1
190
データ分析のためのSQL勉強会 〜初級編 ハンズオン〜
hikarut
10
35k
意思決定に繋げるための因果推論(DID)と PythonによるCausalImpact
hikarut
2
1k
Bリーグデータから学ぶ決定木分析結果の可視化(graphviz/dtreeviz)
hikarut
2
570
Bリーグにおける勝敗とアリーナ集客分析
hikarut
2
1.7k
Other Decks in Programming
See All in Programming
二郎系ラーメンのコールで学ぶ AST 解析
memory1994
PRO
7
1.7k
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
930
1BRC--Nerd Sniping the Java Community
gunnarmorling
0
340
[技育CAMPアカデミア]アイディアを形に!【超入門】スマホアプリ開発〜リリースまでの流れをご紹介
teamlab
PRO
0
370
Ruby Function Composition
bkuhlmann
1
330
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
930
PHPはいつから死んでいるかの調査
chiroruxx
1
400
Code Reviews
bkuhlmann
4
890
ゆるい個人開発のススメ
kuroppe1819
10
990
Rethinking UI building strategies @ SFI 2024
letelete
0
270
Fragment Composition of GraphQL
quramy
7
970
dbtのドメイン分割による データ基盤の改善とDigdagとの連携
sakama
0
320
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
How to name files
jennybc
65
93k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Navigating Team Friction
lara
178
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
16
2.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
25
2.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
The Invisible Side of Design
smashingmag
294
49k
A better future with KSS
kneath
231
16k
Transcript
(JU)VCϋϯζΦϯ גࣜձࣾΤοάγεςϜ ߴڮɹޫ ʙதڃʙ
ຊͷલఏ݅ ɾ(JU)VCΞΧϯτΛ͍࣋ͬͯΔ ɾίϚϯυϥΠϯʹΑΔجຊతͳHJUͷૢ ࡞͕Ͱ͖Δ IUUQTHJUIVCDPNFHHTZTUFN(JU)VC)BOETPO-FWFM ࢀߟɿ(JU)VCϋϯζΦϯॳڃ
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
ࣗݾհɹߴڮޫ ɾ8FCܥاۀࣾһΤϯδχΞϚωʔδϟʔ ɾ1)1 +BWB4DSJQU /PEFKT /VYUKT 4XJGU 3FBDU /BUJWFͳͲ ɾגࣜձࣾΤοάγεςϜ
ෳۀࣾһ IUUQTRJJUBDPNIJLBSVU IUUQTHJUIVCDPNIJLBSVU
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
(JU'MPXͱ(JU)VC'MPX (JUΛͬͨ։ൃɾӡ༻ϑϩʔ (JU'MPX (JU)VC'MPX ෳਓͰ։ൃ͢ΔࡍʹϧʔϧʹԊͬͯߦ͏ࣄͰԁʹ ։ൃɾӡ༻ΛਐΊΔ͜ͱ͕Ͱ͖Δ ˞্هҎ֎ʹ(JU-BC'MPX(JU'FBUVSF'MPXͳͲ͕͋Γ·͢
(JU'MPX ɾσΟϕϩούʔͷ7JODFOU%SJFTTFO͞Μͷ ʮ"TVDDFTTGVM(JUCSBODIJOHNPEFMʯͱ͍͏ه ࣄ͔Βੜ·ΕͨΞΠσΞ ɾNBTUFS SFMFBTF EFWFMPQ GFBUVSF IPUpYͷͭ ͷϒϥϯνΛ͍͚ͯɺ։ൃΛਐΊΔΓํ
ࢀߟɿ"TVDDFTTGVM(JUCSBODIJOHNPEFM{OWJFDPN IUUQTOWJFDPNQPTUTBTVDDFTTGVMHJUCSBODIJOHNPEFM
(JU'MPX ɾϝΠϯϒϥϯνɿNBTUFSEFWFMPQ ɾαϙʔτϒϥϯνɿGFBUVSFIPUpYSFMFBTF ϒϥϯν໊ ݩͱͳΔϒϥϯν Ϛʔδ͢Δϒϥϯν ༻్ master - -
ϦϦʔεࡁΈͷιʔείʔυΛཧ͢Δ develop master - ։ൃதͷιʔείʔυΛཧ͢Δ feature develop develop ػೳ࣮όάमਖ਼ͳͲͷ։ൃ࡞ۀΛߦ͏ release develop develop,master ϦϦʔε४උ࡞ۀΛߦ͏ hotfix master develop,master ۓٸͷमਖ਼࡞ۀΛߦ͏
NBTUFSϒϥϯν͔ΒEFWFMPQϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY NBTUFSϒϥϯνɺEFWFMPQϒϥϯν͕ ϝΠϯϒϥϯνͱͳΓ·͢
EFWFMPQϒϥϯν͔Β։ൃ༻ͷGFBUVSFϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
GFBUVSFϒϥϯνͰ։ൃΛਐΊΔ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
։ൃ͕ऴΘͬͨΒGFBUVSFϒϥϯνΛEFWFMPQʹϚʔδ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY ˞ϚʔδޙGFBUVSFϒϥϯνআ͢Δ ˞EFWFMPQϒϥϯνϦϞʔτʹϓογϡ
EFWFMPQϒϥϯν͔ΒSFMFBTFϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY όʔδϣϯ൪߸ͷߋ৽υΩϡϝϯτͷߋ৽Λߦ͏
SFMFBTFϒϥϯνΛEFWFMPQ NBTUFSʹϚʔδ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY ˞ϚʔδޙSFMFBTFϒϥϯνআ͢Δ
NBTUFSϒϥϯν͔ΒϦϦʔεΛߦ͏ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
ۓٸରԠɿNBTUFSϒϥϯν͔ΒIPUpYϒϥϯνΛ࡞ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY IPUpYϒϥϯνͰόάमਖ਼ͳͲΛߦ͏
ۓٸରԠɿIPUpYϒϥϯνΛEFWFMPQ NBTUFSʹϚʔδ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY ˞ϚʔδޙIPUpYϒϥϯνআ͢Δ
ۓٸରԠɿNBTUFSϒϥϯν͔ΒϦϦʔεΛߦ͏ 5JNF NBTUFS EFWFMPQ GFBUVSF SFMFBTF IPUpY
(JU'MPXͷಛ ɾ։ൃɺӡ༻ͷϑϩʔ͕໌֬ʹܾ·͍ͬͯΔͨΊϧʔϧ ʹԊͬͯਐΊΔ͜ͱͰશମΛѲ͍͢͠ ɾಉ࣌ʹෳҊ͕݅Δ߹ʹௐ͍͢͠ϑϩʔ େ ن։ൃ͚ ϝ Ϧ ο τ
σ ϝ Ϧ ο τ ɾϧʔϧ͕ෳࡶͳͨΊ͍͜ͳ͢ͷ͕͍͠ ɾϧʔϧͷֶशίετ͕͔͔Δ ɾϦϦʔεճ͕ଟ͍߹ʹ͔ͳ͍ εϐʔυײ͕ ͘ͳͬͯ͠·͏
(JU)VC'MPX ɾ(JU'MPXΛΑΓγϯϓϧʹͨ͠Γํ ɾQVMMSFRVFTUػೳΛͬͨӡ༻ํ๏ ࢀߟɿ(JU)VC'MPX +BQBOFTFUSBOTMBUJPO IUUQTHJTUHJUIVCDPN(BCLN
(JU)VC'MPXͷͭͷϧʔϧ NBTUFSϒϥϯνৗʹϦϦʔεՄೳͰ͋Δ ࡞ۀ༻ϒϥϯνඞͣNBTUFS͔Β࡞͢Δ ࡞ۀ༻ϒϥϯνΛఆظతʹϓογϡ͢Δ ϓϧϦΫΤετΛ׆༻͢Δ ϓϧϦΫΤετ͕ঝೝ͞ΕͨΒNBTUFSϚʔδ͢Δ NBTUFSͷϚʔδ͕ྃͨ͠ΒͪʹϦϦʔεΛߦ͏
NBTUFSϒϥϯν͔Β࡞ۀ༻ϒϥϯνΛ࡞ 5JNF NBTUFS ϒϥϯν໊ͷ࡞ϧʔϧͳ͠ Կͷ࡞ۀΛ͍ͯ͠Δͷ͔͔Γ໊͢લʹ͢Δ
࡞ۀ༻ϒϥϯνͰ։ൃΛਐΊΔ 5JNF NBTUFS
։ൃ͕ऴΘͬͨΒQVMMSFRVFTUΛ࡞͢Δ 5JNF NBTUFS มߋ͕͋Εमਖ਼͢Δ
NBTUFSϒϥϯνʹϚʔδ 5JNF NBTUFS
NBTUFSϒϥϯν͔ΒϦϦʔεΛߦ͏ 5JNF NBTUFS
ɾ(JU'MPXΛγϯϓϧʹͨ͠ͷͳͷͰӡ༻͍͢͠ ɾमਖ਼ͷαΠΫϧΛճ͍͢͠ͷͰԿճϦϦʔε͕͠ ͍͢ ɾQVMMSFRVFTUΛͬͨίʔυϨϏϡʔ͕ϑϩʔʹ ೖ͍ͬͯΔͷͰ࣮༻త ϝ Ϧ ο τ σ
ϝ Ϧ ο τ ɾಉ࣌ʹෳͷϦϦʔε͕ॏͳΔ߹ʹ͕ඞཁ ɾ֬ೝ༻ͷڥ͕༻ҙ͠ʹ͍͘ (JU)VC'MPXͷಛ
(JU'MPXͱ(JU)VC'MPXͷൺֱ (JU'MPX (JU)VC'MPX ϝ Ϧ ο τ σ ϝ Ϧ
ο τ ɾϑϩʔ͕໌֬ʹܾ·͍ͬͯΔͷ Ͱ࡞ۀΛѲ͍͢͠ ௐ͍͢͠ ɾେن։ൃ͖ ɾ(JU'MPXΛγϯϓϧʹͨ͠ͷ ͳͷͰӡ༻͍͢͠ ɾमਖ਼ͷαΠΫϧΛճ͍͢͠ͷ ͰԿճϦϦʔε͕͍͢͠ ɾෳࡶͳӡ༻ͷͨΊ͍͜ͳ͢ͷ ͕͍͠ ɾϦϦʔεճ͕ଟ͍߹ʹ͔ ͳ͍ ɾಉ࣌ʹෳͷϦϦʔε͕ॏͳΔ ߹ʹ͕ඞཁ ɾ֬ೝ༻ͷڥ͕༻ҙ͠ʹ͍͘
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
IUUQTHJUIVCDPNFHHTZTUFN (JU)VC)BOETPO-FWFM (JU)VCϋϯζΦϯࢿྉ தڃ
ᶃ࡞ۀऀ͝ͱʹϒϥϯνΛ࡞ ϩʔΧϧ ϦϞʔτ NBTUFS CSBODI" CSBODI# "͞Μ #͞Μ ˞֤࡞ۀऀNBTUFSϒϥϯνͰ࡞ۀ͠ͳ͍ ˞ඞͣผϒϥϯνΛͬͯ࡞ۀ͢Δ
HJUDIFDLPVUCCSBODI"NBTUFS
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# CSBODI" "͞Μ #͞Μ HJUDPNNJUBNlϑΝΠϧͷՃमਖ਼z
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# CSBODI# #͞Μ CSBODI" "͞Μ HJUQVTIPSJHJOCSBODI#
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# CSBODI# #͞Μ NBTUFS #͞Μͷ࡞ۀ༰͕ ϦϞʔτͷNBTUFS ʹϚʔδ͞ΕΔ
QVMMSFRVFTU CSBODI" "͞Μ
ᶄ࡞ۀ༰Λ֤ϒϥϯνʹө ϩʔΧϧ ϦϞʔτ CSBODI# #͞Μ NBTUFS "͞ΜͷCSBODI"ͱ NBTUFSϒϥϯνͰ ͕ࠩൃੜ CSBODI"
"͞Μ
ᶅϦϞʔτͷ༰ΛϩʔΧϧʹө ϩʔΧϧ ϦϞʔτ NBTUFS CSBODI" "͞Μ NBTUFS #͞Μͷ࡞ۀΛϩʔΧϧʹऔ ΓࠐΉ HJUDIFDLPVUNBTUFS
HJUQVMM
ᶅϦϞʔτͷ༰ΛϩʔΧϧʹө ϩʔΧϧ ϦϞʔτ NBTUFS CSBODI" "͞Μ NBTUFS ˞OP⒎/PGBTUGPSXBSEΦϓγϣϯ ˠϚʔδίϛοτΛൃੜͤ͞ΔΦϓγϣϯ ˞جຊతʹOP⒎ΦϓγϣϯΛ͚ͭͯϚʔδ͢
Δ͜ͱΛ͓͢͢Ί͠·͢ HJUDIFDLPVUCSBODI" HJUNFSHFOP⒎NBTUFS #͞Μͷ࡞ۀ༰ΛCSBODI" ʹऔΓࠐΉ Ϛʔδ͢Δ
ᶆमਖ਼༰ΛϦϞʔτʹϓογϡ ϩʔΧϧ ϦϞʔτ CSBODI" "͞Μ CSBODI# #͞Μ CSBODI" NBTUFS HJUQVTIPSJHJOCSBODI"
ᶇϦϞʔτʹϩʔΧϧͷ༰Λө ϩʔΧϧ ϦϞʔτ CSBODI" "͞Μ CSBODI# #͞Μ CSBODI" NBTUFS "͞Μͷ࡞ۀ༰͕
ϦϞʔτͷNBTUFS ʹϚʔδ͞ΕΔ QVMMSFRVFTU
ΞδΣϯμ ɾࣗݾհ ɾ(JU'MPXͱ(JU)VC'MPX ɾ(JU)VC'MPXΛͬͨ։ൃ ϋϯζΦϯ ɹෳਓͰͷ։ൃํ๏ ɹίϯϑϦΫτͷղফ ɾ(JU)VCΛͬͨ։ൃͷҙ͓͢͢Ί
IUUQTHJUIVCDPNFHHTZTUFN (JU)VC)BOETPO-FWFM (JU)VCϋϯζΦϯࢿྉ தڃ Λࢀߟ
&/%