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
Commit message will never die
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Koichi ITO
March 24, 2018
Technology
8.5k
23
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Commit message will never die
Rails Developers Meetup 2018: day 1
(
https://techplay.jp/event/639872
)
Koichi ITO
March 24, 2018
More Decks by Koichi ITO
See All by Koichi ITO
The Rails Doctrine Decade
koic
2
610
Reframing the Agile Manifesto
koic
5
4.9k
The NotImplementedError Problem in Ruby
koic
1
2.1k
Exploring RuboCop with MCP
koic
0
8.4k
Ruby and LLM Ecosystem 2nd
koic
1
2.3k
STYLE
koic
1
2.2k
Ruby and LLM Ecosystem
koic
3
14k
Write Code Every Day
koic
1
2.8k
Bliki (ja), and the Cathedral, and the Bazaar
koic
7
3.3k
Other Decks in Technology
See All in Technology
フィンテック養成勉強会#68
finengine
0
200
Claude Code on Bedrock で統制をかける小ネタ集/claude-code-bedrock-governance-tips
emiki
1
150
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
330
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
210
[JAWS-UG彩の国埼玉#12]そろそろ準備する?re:Invent2026をやさしく解説 / reinvent2026-sainokuni
sh_fk2
1
390
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
「私が一番顧客に詳しい」を捨てる~ 全員が一次情報に精通する開発チームをつくり、PMが次のボトルネックへ染み出すまで
kaminashi
3
1.2k
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
170
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
170
価値について
gree_tech
PRO
0
140
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
470
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k
Paper Plane
katiecoart
PRO
5
54k
Site-Speed That Sticks
csswizardry
13
1.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Mobile First: as difficult as doing things right
swwweet
225
10k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Building Applications with DynamoDB
mza
96
7.2k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Designing for Performance
lara
612
70k
HDC tutorial
michielstock
2
970
Leo the Paperboy
mayatellez
10
2.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
Transcript
$PNNJUNFTTBHFXJMMOFWFSEJF 4BU 3BJMTίϯτϦϏϡʔγϣϯ ͔ΒֶΜͩ (JU(JU)VCज़ ҏ౻ߒҰ !LPJD FTN 3BJMT%FWFMPQFST.FFUVQEBZ
άϥϯτΩϣαελϫʔ֊
None
None
None
None
None
ࠓͷ
IUUQTUXJUUFSDPNLPJDTUBUVT
SBJMTSBJMT 3FNPWFA"4.VMUJCZUFATVOJDPEFUBCMF
None
$POUFYU Կނඞཁ͔
$POUFYU Կނඞཁ͔ .FSJU ͲΜͳಘ͕
)PX ࣮ϙΠϯτ
)PX ࣮ϙΠϯτ ࣮ࡍ· ͩଓ͘
.FTVSF ܭଌ
.FTVSF ܭଌ Ϛʔδͯ͠Β͏ͨΊʹඞཁͳใΛ ඞཁͳ͚ͩ٧Ί͍ͯΔ
ͨΓલΛͨΓલʹ Step up your natural commit skill
,BUB
w5IFTFWFOSVMFTBHBJO w.Z3PDL)FSPFTJO +BQBO w(JU(JU)VCXPSLqPX "HFOEB
w5IFTFWFOSVMFTBHBJO w.Z3PDL)FSPFTJO +BQBO w(JU(JU)VCXPSLqPX "HFOEB
IUUQTDISJTCFBNTJPQPTUTHJUDPNNJU
4FQBSBUFTVCKFDUGSPNCPEZXJUIBCMBOLMJOF -JNJUUIFTVCKFDUMJOFUPDIBSBDUFST $BQJUBMJ[FUIFTVCKFDUMJOF %POPUFOEUIFTVCKFDUMJOFXJUIBQFSJPE 6TFUIFJNQFSBUJWFNPPEJOUIFTVCKFDUMJOF
8SBQUIFCPEZBUDIBSBDUFST 6TFUIFCPEZUPFYQMBJOXIBUBOEXIZWTIPX 5IFTFWFOSVMFTPGBHSFBU(JU DPNNJUNFTTBHF
IUUQTQPTUEDDIPXUPXSJUFBHJUDPNNJUNFTTBHF
None
৺ʹཹΊ͓͍͍ͯͯͩ͘͞ ͜Εࠓ·Ͱ ݴΘΕ͖ͯͨ ͣͬͱ ͜ͱͰ͢ɻ
कഁ
कഁ
.JYJO+BQBOFTF
w ߦۭ͚ͯॻ͖·͠ΐ͏ w HJUͷίϛοτϝοηʔδߦ͕ λΠτϧɺߦҎ͕߱ຊจ w ߦΛۭʹͤͣຊจΛॻ͘ͱશͯλ Πτϧѻ͍ʹͳΓɺgit --oneline tig
ίϚϯυͰҰॹͨ͘ʹͳΔ λΠτϧͷޙߦۭ͚ͯຊจΛॻ͘
λΠτϧͷޙߦۭ͚ͯຊจΛॻ͘ λΠτϧ ߦ ຊจ ߦҎ߱ ۭߦ ߦ
w ࣈ҆Ͱଟগӽ͑ͯྑ͍ w ཁʹͰ͖ͳ͍΄Ͳ͘ͳΔΑ͏Ͱ͋ ΕͦΕຊจʹॻ͘͜ͱ w ίϛοτϝοηʔδʮԿނʯΛॻ͘ ͷ͕ͩλΠτϧʮԿΛʯͰྑ͍ λΠτϧΛࣈҎʹ͓͞ΊΔ
w จষͷ࢝Ί͕େจࣈӳจ๏ͷجຊ w lӳจ๏จষઌ಄େจࣈz<ݕࡧ> w ຊޠͳΒؾʹ͠ͳ͍ ؔͳ͍ λΠτϧͷจ಄Λେจࣈʹ͢Δ
w λΠτϧྖҬΛݮΒͤΔ w ຊޠͰ۟ෆཁ w ͕۟ݱΕΔͱಡݱΕ࢝ΊͨΓཁ ͔ΒΊͷઆ໌ͱΕ͍ͯ͘ w ΧϯϚɺಡඪͰ࠷େճΛ҆ ʹ͍ͯ͠Δ
λΠτϧͷจʹϐϦΦυΛ͚ͳ͍
w /" w ຊޠͷ߹ମݴࢭΊ͔༻ݴࢭΊ͔ ΛͳΔ͘౷Ұ͍ͯ͠Δ w ݸਓతʹ༻ݴࢭΊΛ͍ͬͯΔ w நྫʓʓΛ˚˚͢Δ λΠτϧ໋ྩ๏Ͱهड़͢Δ
w ࣈ҆Ͱଟগӽ͑ͯྑ͍ w 13ͷຊจʹॻ͘༰Λه͓ͯ͘͠ͱ ྑ͍ ޙड़͢Δ(JU)VCͱͷ࿈ಈྫ ຊจߦ͋ͨΓࣈҎʹ͓͞ΊΔ
w ʮͲͷΑ͏ʹ )PX ʯ࣮ΛಡΊ Θ͔Δ w ʮԿΛ 8IBU ʯίϛοτϝοηʔ δߦʹλΠτϧͱͯ͠ه͢
w ʮͳͥ 8IZ ʯίϛοτϝοηʔ δߦͷຊจͱͯ͠ه͢ ຊจͰʮͲͷΑ͏ʹʯͰͳ͘ʮԿ ΛʯͱʮͳͥʯΛઆ໌͢Δ
8IBU ԿΛ͢Δ͔
$POUFYU Կނඞཁ͔ 8IBU ԿΛ͢Δ͔
$POUFYU Կނඞཁ͔ .FSJU ͲΜͳಘ͕ 8IBU ԿΛ͢Δ͔
$POUFYU Կނඞཁ͔ .FSJU ͲΜͳಘ͕ 8IBU ԿΛ͢Δ͔ 8IBU
$POUFYU Կނඞཁ͔ .FSJU ͲΜͳಘ͕ 8IBU ԿΛ͢Δ͔ 8IZ 8IBU
5IFTFBSF (VJEFMJOFT IUUQKBXJLJQFEJBPSHXJLJ&""&""&##&&##"NFEJB'JMF$BOUJOP1MBOJTQIFSFQOH
w5IFTFWFOSVMFTBHBJO w.Z3PDL)FSPFTJO +BQBO w(JU(JU)VCXPSLqPX "HFOEB
)FSPFT !LBNJQP !ZZBHJ !BNBUTVEB BOENPSF !ZBIPOEB !QPDLF
w ڧͦ͏ͳਓͨͪɻڧͦ͏ͳਓͨͪΛਅ ࣅΕڧ͘ͳΕͦ͏ w ڧ͍ਓୡίϛοτϝοηʔδڧ͍ w ίʔυ͚ͩͰͳ͘ίϛοτϝοηʔδ ެ։͞Εͯͯഎத͔Β,BUBΛֶͿ ͜ͱ͕Ͱ͖Δ )FSPJTTUSPOH
,BUB 28"/ JO 2VBMJUZ8JUIPVU"/BNF
w l/PEFTDSJQUJPOQSPWJEFE ಛʹॳର໘ʹରͯ͠ ࣦྱz w lͳͥͦͷ13ΛϚʔδ͢Δඞཁ͕͋ Δͷ͔Λॻ͘z w l༗ӹͳใͯ͢ه͢z w
l$PTNFUJDDIBOHFͰ͋͑ͯ͋ ·Γॻ͔ͳ͍ ࣭ྔͷରൺ z )FSPFT໊ݴू ࢲͷίϯύε
lOPEFTDSJQUJPO QSPWJEFEzΛ߇͑Δ (JU(JU)VC5JQT
#FGPSF IUUQTHJUIVCDPNNVSZPJNQMCVPZTQVMM
"GUFS IUUQTHJUIVCDPNCCBUTPWSVCPDPQQVMM
w5IFTFWFOSVMFTBHBJO w.Z3PDL)FSPFTJO +BQBO w(JU(JU)VCUJQT "HFOEB
My workflow before and after
w NBTUFSʹ͍Δ··࡞ۀ w ࡞ۀॲ͕͍ͭͨΒϒϥϯνΛΔ w HJUDPNNJU࣌ʹλΠτϧ͚ͩΛ ॻ͍ͯίϛοτ w 13ͰຊจΛॻ͘ ʙ͘Β͍લͷ࡞ۀϑϩʔ
w ࡞ۀͷཁΛϒϥϯν໊ʹͯ͠ϒϥϯ νΞτ w λΠτϧͱຊจΛίϛοτ w 13ܗͷΈ ݱࡏͷ࡞ۀϑϩʔ
w ࡞ۀͷཁΛϒϥϯν໊ʹͯ͠ϒϥϯ νΞτ w λΠτϧͱຊจΛίϛοτ w 13ܗͷΈ ݱࡏͷ࡞ۀϑϩʔ 5JQTհ
lOPEFTDSJQUJPOQSPWJEFEzΛ߇͑Δ ࡞ۀతʹ͍ͭͯϒϥϯν໊Λ͚Δ ϒϥϯνΛߜΓࠐΊΔΑ͏ʹ͢Δ .BSLEPXOΛͬͯίϛοτϝοηʔδΛॻ͘ λΠτϧͱҰॹʹຊจΛॻ͘
$MPTJOHLFZXPSETΛ׆༻͢Δ ؔ࿈͢ΔίϛοτTRVBTI͢Δ (JU(JU)VCUJQT ࡁ
࡞ۀతʹ͍ͭͯ ϒϥϯν໊Λ͚Δ (JU(JU)VC5JQT
w ࡞ۀ ్த ͷ͜ͱʹ͍֮ͭͯॻʹͳΔ w (JU)VCͰͷλΠτϧΛΠϝʔδ͢Δ w Ϛʔδ͞ΕΔࡍʹl.FSHFQVMM SFRVFTUGSPNVTFS CSBODIOBNFzͱ͍ͬͨײ͡Ͱλ
ΠτϧʹೖΔͷͰͳΔͯ͘͘͠Δ ࡞ۀతʹ͍ͭͯϒϥϯν໊Λ͚ͭΔ
λΠτϧͱϒϥϯν໊ͷ૬ҧ FH ϒϥϯν໊
λΠτϧͱϒϥϯν໊ͷ૬ҧ FH ϒϥϯν໊
λΠτϧͱϒϥϯν໊ͷ૬ҧ FH ϒϥϯν໊
λΠτϧͱϒϥϯν໊ͷ૬ҧ FH ϒϥϯν໊
None
ϒϥϯνΛߜΓࠐΊΔΑ͏ ʹ͢Δ (JU(JU)VC5JQT
ϒϥϯν໊ͰߜΓࠐΉ alias cb=‘ git checkout ` git branch | peco
| sed -e "s/\* //g" | awk "{print \$1}"`' IUUQTHJUIVCDPNLPJDEPUpMFTCMPCFECECGBCGCEPUTIHJUTI- ߜΓࠐΈ༻ ΤΠϦΞε
ϒϥϯν໊ͰߜΓࠐΉ IUUQTHJUIVCDPNLPJDEPUpMFTCMPCFECECGBCGCEPUTIHJUTI- QFDPͰߜΓࠐΈ
w LPJDΦϦδφϧ w ࡞Γ͔͚ͷϩʔΧϧͷͷɺੜࣽ͑Ͱ ެ։ʹૣ͗͢Δ w ෳͷ࡞ۀதϒϥϯνΛ࣋ͭϦϙδτ ϦͰͷϒϥϯνߜΓࠐΈͷϔϧύʔ w ෆඞཁʹόοΫϦϯΫΛ͚ͭͨ͘ͳ͍
࡞ۀதϒϥϯνͷ಄ࢠʹXJQ@Λ͚Δ
XJQ@Ͱ࢝·ΔϒϥϯνQVTIͰ͖ͳ͍ #!/bin/sh # if [ "$(git rev-parse --abbrev-ref HEAD |
grep '^wip_')" ]; then echo "\033[0;31m[ABORT] You cannot push a branch whose prefix is \`wip_\`. \033[0;39m" 1>&2 exit 1 fi exit 0 IUUQTHJUIVCDPNLPJDEPUpMFTDPNNJUGCBCEEDEFGCCEFEGB HJUIPPLT QSFQVTI
%&.0
.BSLEPXOΛͬͯ ίϛοτϝοηʔδΛॻ͘ (JU(JU)VC5JQT
IUUQLPJDIBUFOBCMPHDPNFOUSZHJUDPOpHHMPCBMDPSFDPNNFOUDIBS
w HJUͷσϑΥϧτͩͱɺίϛοτϝοηʔ δΛฤू͢ΔΤσΟλͰͷίϝϯτߦ͕ ʹͳ͍ͬͯΔ w ҰํͰ(JU)VCͷ1VMM3FRVFTUͰ จॻߏΛ࡞Δ࣌.BSLEPXOͱͳ ΔͨΊɺݟग़͠ʹ͏͕ίϝϯτߦͱ ͯ͠ίϛοτϝοηʔδ͔Βফ͍͑ͯͨ Μෆศ
.BSLEPXOͰॻ͘5JQ
ίϝϯτͷจࣈΛ͔Βมߋ͢Δ % git config --global core.commentchar '^' ?ʹมߋ͢Δ w ͪΖΜ?Ͱͳͯ͘ྑ͘ɺϓϥοτϑΥʔ
ϜͰൺֱతߦ಄ʹΘͳͦ͞͏ͳͷΛબͿ w ྫ͑3VCZͩͱ!ͳͲίϛοτϝο ηʔδͰίʔυྫΛه͠͏ΔͷͰ͑ͳ͍
ίϝϯτͷจࣈΛ͔Βมߋ͢Δ diff --git a/dot.gitconfig b/dot.gitconfig index 07e3ef8..a95eae6 100644 --- a/dot.gitconfig
+++ b/dot.gitconfig @@ -30,6 +30,7 @@ branch = auto interactive = auto [core] + commentchar = ^ editor = emacsclient -nw -a '' excludesfile = ~/.gitignore [diff] % git config --global core.commentchar '^' HJUDPOpHͷՃ
λΠτϧͱҰॹʹຊจΛॻ͘ (JU(JU)VC5JQT
w 1VMM3FRVFTUʹॻ͘͜ͱΛ͋Β͔͡Ίί ϛοτϝοηʔδʹه͢ w ʮίϛοτˠ13࣌ʹॻ͘ʯͰͳ͘ʮίϛο τ࣌ʹॻ͘ˠ13ܗ͘Β͍ʯ w Ͳ͏ͤॻ͘ͳΒϒϥβͰͳ͖͘ͳΤ σΟλͰ w
NBTUFSQVTI͢Δͱ͖ͱྲྀΕΛม͑ͳ͍ λΠτϧͱҰॹʹຊจΛॻ͘
HJUDPNNJU࣌ʹΤσΟλฤू͢Δ
13࣌ʹλΠτϧຊจ͕ຒ·ͬͯΔ
$MPTJOHLFZXPSET Λ׆༻͢Δ (JU(JU)VC5JQT
w ίϛοτϝοηʔδʹ'JYFT൪߸ ͳͲؚΉͱ*TTVFͷΫϩʔζ࿈ܞ ʹͳΔ w طʹڍ͕͍ͬͯΔ*TTVFͷϙΠϯ λʹͳΔར͕͋Δ $MPTJOH,FZXPSETΛ׆༻͢Δ
IUUQTIFMQHJUIVCDPNBSUJDMFTDMPTJOHJTTVFTVTJOHLFZXPSET ༗ޮͳΩʔϫʔυ
'JYFTͷྫ FH *TTVFΛ ࢦఆ͍ͯ͠Δ
'JYFTͷྫ FH *TTVFΛ·ͱΊͯ ࢦఆ͍ͯ͠Δ
'JYFTͷྫ FH ϦϙδτϦʹΑΓ λΠτϧهࡌ
ؔ࿈͢Δίϛοτ TRVBTI͢Δ (JU(JU)VC5JQT
ຬΛ࣋ͯ͠13ͷ४උ 1SPCMFN දग़͢Δ
ຬΛ࣋ͯ͠13ͷ४උ $POUFYU ඞཁͳഎܠ
ຬΛ࣋ͯ͠13ͷ४උ 8IZ ରҊͱͷൺֱ $POUFYU ඞཁͳഎܠ
0QFOB13
ࢲͷ3VCP$PQྗ Use ""
None
TRVBTI HJUQVTIIFBEG
w ϝϯςφɺϩʔΧϧͰͷ։ൃ ྫ5%% ʹΑΔSFEDPNNJUHSFFO DPNNJUSFGBDUPSDPNNJUͷ ίϛοτཻʹڵຯ͕ͳ͍ w 13લͷϩʔΧϧ࡞ۀΛҰ۠Γͨ͠ ཻ͍ɺ13ϚʔδޙͷϦϞʔτมߋ ཤྺΛཻ͍͍ͨͱͳΔ
TRVBTIͷࢥߟ
w ϝϯςφϯεͰݫີʹॏཁͳͷҎԼ w ίϛοτͰͭͷมߋཧ༝Ͱ͋Δ͜ͱ w ςετίʔυ͕ηοτͰ͋Δ͜ͱ w ݁13ϨϏϡʔޙʹTRVBTI͢Δ Α͏ٻΊΒΕΔ͕ɺ͜Εਖ਼͍࢟͠ Ͱ͋Δ
TRVBTIͷࢥߟ
͓Ϛʔδ
ϝϯςͷྺ࢙ʹ։ൃ్্ͷෆཁ ίϛοτʹTRVBTIͯ͠ ෆཁͳίϛοτ͕ݱΕͳ͍
ॱಓ੍উ ͍·͋ΔྗͰಊʑͱίϛϡχςΟʹࢀՃ
w SBJMTSBJMTϦϙδτϦ͔Βɺ3BJMTͷίʔ υ͚ͩͰͳ͘13ͷग़͠ํ͔Βίϛοτϝο ηʔδͷॻ͖ํֶͿ͜ͱ͕Ͱ͖Δ w ಛʹίϯτϦϏϡʔλ͔࣌Βίϛολʔ ʹͳ͍ͬͯΔ3BJMTίϛολʔͷίϛοτ ͓खຊʹ͓͢͢Ί ࠪҰ՝՝ײ͋Δ
w ίϛοτϝοηʔδΛ੍͢ΔͷϦϙδ τϦͷྺ࢙ͷ҆ఆΛ੍͢Δ ͓ΘΓʹ
IUUQTUXJUUFSDPNLPJDTUBUVT
3BJMT044ύονձ ݄࣍։࠵
࣍ճ݄ ݄ ʙFTNʹͯ :PV
None
One more thing…
None
͋ͱ͔Γ·͢Ͷʁ ࠾༻ Ҏ্ͷ3BJMTΞϓϦ։ൃͷ࣮ l3BJMT044Λ௨͍ͨ͡͠ϓϩάϥϚʔz @koic·ͰͲ͏ͧ