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
shibayu36
June 01, 2014
Programming
145
77k
はてなブログチームの開発フローとGitHub
6/1 github kaigi
shibayu36
June 01, 2014
Tweet
Share
More Decks by shibayu36
See All by shibayu36
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
2.9k
個人CLAUDE.md紹介と設定から学んだこと/introduce-my-claude-md
shibayu36
0
320
今の生産性改善活動で大切にしている考え方
shibayu36
8
8.6k
エンジニアメンター制度の効果的な運用を目指して/improve-mentor-system
shibayu36
27
10k
グレードイメージ具体化のため昇格理由を公開する
shibayu36
8
5.9k
新機能作成時に開発ブランチに細かくmergeしていく戦略/merge-strategy-for-new-feature
shibayu36
6
17k
一から始めるJavaScriptユニットテスト/js-unit-test-from-scratch
shibayu36
8
33k
技術ブログを書くことについて/writing-tech-blog
shibayu36
17
27k
はてなと技術研修
shibayu36
1
6.5k
Other Decks in Programming
See All in Programming
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
310
Web技術を最大限活用してRAW画像を現像する / Developing RAW Images on the Web
ssssota
2
1.1k
AccessorySetupKitで実現するシームレスなペアリング体験 / Seamless pairing with AccessorySetupKit
nekowen
0
210
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.5k
Model Pollution
hschwentner
1
180
Build your own WebP codec in Swift
kishikawakatsumi
2
870
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
120
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
150
XP, Testing and ninja testing ZOZ5
m_seki
2
220
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
720
Learn CPU architecture with Assembly
akkeylab
1
1.3k
iOSDC.pdf
chronos2500
2
650
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
The Cost Of JavaScript in 2023
addyosmani
53
9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
RailsConf 2023
tenderlove
30
1.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
570
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Visualization
eitanlees
148
16k
We Have a Design System, Now What?
morganepeng
53
7.8k
Designing for Performance
lara
610
69k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Transcript
ͯͳϒϩάνʔϜͷ ։ൃϑϩʔͱGitHub 2014/06/01 GitHub Kaigi גࣜձࣾͯͳ @shiba_yu36
@shiba_yu36 ͯͳϒϩά גࣜձࣾͯͳ
ࠓͷ ͯͳϒϩάνʔϜʹ͍ͭͯ ։ൃϑϩʔͷ՝ͱͦͷղܾ
ͯͳϒϩάνʔϜ
ͯͳϒϩά http://hatenablog.com/
5 engineers 2 designers
170 pull requests 1,281 commits per month
45 releases per month
PO
։ൃΛอ͍ͯͯΔ
։ൃϑϩʔͷൃੜ ։ൃϑϩʔͷվળ on GHE
λεΫཧ ϨϏϡʔ ϦϦʔε
ϒϩάνʔϜͰͷ ։ൃͷྲྀΕ
։ൃͷྲྀΕ • issueΛొɾΞαΠϯ • issueʹରԠ͢Δbranch࡞ • ։ൃɾϨϏϡʔɾmerge • merge͕ཷ·ͬͨΒϦϦʔε
wNBTUFS wຊ൪ͱಉҰ wEFWFMPQ w։ൃCSBODIɻϦϦʔεՄೳͳ ͷNFSHF wGFBUVSFCSBODI wػೳ͝ͱͷ։ൃϒϥϯν ϒϥϯνӡ༻
ϒϥϯνӡ༻ NBTUFS EFWFMPQ GFBUVSFCSBODI GFBUVSFCSBODI SFMFBTF
ϒϥϯνӡ༻ NBTUFS EFWFMPQ GFBUVSFCSBODI GFBUVSFCSBODI SFMFBTF HJUqPXͷ؆қ൛
λεΫཧ ϨϏϡʔ ϦϦʔε
GitHubͱ λεΫཧ
ҎલͷλεΫཧ ϝΠϯͷ࣌ IssuesͷΈͷ࣌ 1. 2.
ϝΠϯͷ࣌
RedmineϝΠϯ • λεΫRedmineͰ • ίʔυϨϏϡʔGitHubͰ
Pull Request
Pull Request ։ൃऀ͕྆πʔϧݟΔඞཁ͕͋Δ ίʔυͱͷ࿈ܞศརͰͳ͍
։ൃऀͷޮ্͕͕Βͳ͍
πʔϧΛҰͭʹ Issuesͱίʔυͷ࿈ܞ
πʔϧΛҰͭʹ Issuesͱίʔυͷ࿈ܞ IssuesͷΈͷ࣌
IssuesϝΠϯ • λεΫཧIssuesͷΈ • ίʔυϨϏϡʔPull Request
։ൃऀͷݟΔπʔϧ͕ݮΔ ίʔυͱͷ࿈ܞ͕ศར ։ൃऀͷޮΞοϓ
a few months later…
ൃੜ!!
νʔϜͷॏཁͳͷԿ? ͦͷ1
νʔϜͷॏཁͳͷԿ? ͦͷ1 Issuesʹ༏ઌɾకΊΓ ͷΈগͳ͍
ࠓ୭͕ԿΛͬͯΔͷ? ͦͷ2
ࠓ୭͕ԿΛͬͯΔͷ? ͦͷ2 IssuesͰਐߦதͷλεΫΛ ၆ᛌͰ͖ͳ͍
։ൃऀͷޮྑ͍ ! Ϛωʔδϟ͕νʔϜͷ ၆ᛌΛग़དྷͳ͍
IssuesϝΠϯʹ։ൃऀޮอͭ νʔϜͷॏཁͳͷ ਐߦத͚ͩଞͰαϙʔτ +
IssuesϝΠϯʹ։ൃऀޮอͭ νʔϜͷॏཁͳͷ ਐߦத͚ͩଞͰαϙʔτ + ΧϯόϯͰิॿ
x Χϯόϯ
Issuesͷׂ • શͯͷλεΫ͜͜ʹೖͬͯΔ • ୭Ͱ͜͜ʹՃ͍͍ͯ͠ • Ճ͞ΕͨλεΫຖேݕ౼
Χϯόϯͷׂ • IssuesͷதͰॏཁͳͷ͚ͩɹɹ Ϛωʔδϟ͕બ • ॏཁͳͷ͔͠Ճ͠ͳ͍ • ேձͰ͔͠ݟͳ͍
Χϯόϯೋຕ • ॏཁͳͷλεΫϦετ • ॏཁͳͷਐḿ
None
ॏཁͳͷ͚ͩϚωʔδϟ͕ᝦՃ
None
0%~100% ਓ
։ൃऀ ॏཁ • Ϛωʔδϟ • ேձ
։ൃऀேձҎ֎ GitHub͚ͩ Ϛωʔδϟॏཁͳͷ͚ͩ ϗϫΠτϘʔυͰঢ়گѲ
ॏཁͳͷѲͭͭ͠ ։ൃऀޮͷྑ͍ཧʹ
GitHubͱλεΫཧ • ։ൃऀʹͱͬͯҰ൪ޮͷྑ͍ɹɹ IssuesΛϝΠϯ • ϗϫΠτϘʔυͰॏཁͳͷΛཧ • εΫϥϜ·Ͱ͍͔ͳ͍ΏΔ͍λεΫ ཧ
λεΫཧ ϨϏϡʔ ϦϦʔε
GitHubͱ ϨϏϡʔ
ҎલͷϨϏϡʔͷྲྀΕ
@hitode909 PR͠·ͨ͠ ϨϏϡʔΑΖ͓͘͠ئ͍͠·͢ ͍Γ·͢
@hitode909 PR͠·ͨ͠ ϨϏϡʔΑΖ͓͘͠ئ͍͠·͢ ͍Γ·͢ ݸผʹ͓ئ͍
ͳΜ͔ϨϏϡʔ͠Α͏ Pull Request͔Β ͦΕͬΆ͍ͭ୳ͯ͠ϨϏϡʔ
ͳΜ͔ϨϏϡʔ͠Α͏ Pull Request͔Β ͦΕͬΆ͍ͭ୳ͯ͠ϨϏϡʔ Pull Request͔Β୳͢
ී௨ͷPRϨϏϡʔ
ൃੜ!!
ͦͷ1 Pull Requestͷঢ়ଶ͕͔Βͳ͍! (ͷͰϨϏϡʔΛͨΊΒ͏) • ϨϏϡʔґཔத? • ϨϏϡʔҰͯ͠मਖ਼த? • ϨϏϡʔ͏ऴΘͬͯΔ?
ͦͷ2 ϨϏϡʔ͕ফԽ͞Εͣ! Pull Request͕͍͢͝ྔʹ 37݅…
ͦͷ3 ϕςϥϯ͚͕ͩͻͨ͢Β! ϨϏϡʔ͠ଓ͚ΔΊʹ
GitHubͷ ϨϏϡʔπʔϧ࠷ߴ ! ͔͠͠ଅਐগͳ͍
ղܾҊ • ϨϏϡʔঢ়ଶΛ͖ͬΓ • ϨϏϡʔґཔҰཡΛ͔Γ͘͢ • ΈΜͳͰϨϏϡʔ͢Δงғؾ࡞Γ
ϨϏϡʔঢ়ଶϥϕϧ ϨϏϡʔλΠϜ
ϨϏϡʔঢ়ଶϥϕϧ ϨϏϡʔঢ়ଶΛ͖ͬΓ ϨϏϡʔґཔҰཡ͔Γ͘͢
ϨϏϡʔঢ়ଶϥϕϧ • Pull RequestʹϥϕϧΛ • ࠓͷϨϏϡʔঢ়ଶΛ͔Γ ͘͢
࠶ϨϏϡʔ ґཔ WIP Pull Request
ϨϏϡʔґཔҰཡΛݟͨΒ ࠓϨϏϡʔ͖͢ͷ͕͔Δ
ࣗͷΞαΠϯ͔Β ϨϏϡʔྃݟ͘͢
https://github.com/shimobayashi/pull-req-label QVMMSFRMBCFM
ϨϏϡʔλΠϜ ΈΜͳͰϨϏϡʔ͢Δงғؾ࡞Γ
ϨϏϡʔλΠϜ • ຖϥϯνޙ14:00ʙ • ʮϨϏϡʔґཔʯϥϕϧλεΫΛ ย͔ͬΒΈΜͳͰݟΔ
ϨϏϡʔλΠϜ IRCʹ௨ 14:01 ikachan01 : Ξο 14:01 ikachan03 : ϨϏϡʔλΠϜ͡ΌΜ
14:01 ikachan02 : ϫʔΦʂ ϨϏϡʔґཔ ͕9݅͋ΔΑʂ ࠓ͙͢νΣοΫνΣοΫʙ http:// **** > cockscomb funnelbit hitode909 shibayu36 ntakanashi
None
ϨϏϡʔͷ͖͔͚͕ͬग़དྷͯ ຖΈΜͳͰ ϨϏϡʔ͢ΔΑ͏ʹ
GitHubͱϨϏϡʔ • PR͚ͩͩͱϨϏϡʔͷଅਐ͕͏· ͘ߦ͔ͳ͔ͬͨ • ϨϏϡʔϥϕϧɾϨϏϡʔλΠϜ ͰɺΈΜͳͰϨϏϡʔ͢Δงғؾ ʹ
λεΫཧ ϨϏϡʔ ϦϦʔε
GitHubͱ ϦϦʔε
ϦϦʔεͷྲྀΕ Pull Request͕ͲΜͲΜmerge͞ΕΔ Ͳ͔͜ͰϦϦʔε
σϓϩΠࣗମ ίϚϯυҰൃʹ͍ͯͨ͠
σϓϩΠ࡞ۀͦͷͷҎ֎ʹ ϦϦʔεʹඞཁͳͷ͕͋Δ @onishi ͜ͷϦϦʔεΛ ͯ͠ྑ͍Ͱ͔͢ ϦϦʔεલʹݕূڥͰ ࠷ऴ֬ೝ͠·͠ΐ͏
ϦϦʔεͷྲྀΕ 1. ϚωʔδϟʹϦϦʔεͯ͠Α͍͔ ֬ೝ 2. ΈΜͳͰݕূڥͰ࠷ऴ֬ೝ 3. σϓϩΠίϚϯυͰσϓϩΠ!
શ෦ࣗಈԽ͖͠Εͳ͍
ൃੜ!!
ͦͷ1 Ϛωʔδϟ֬ೝͤͣʹ! ϦϦʔεͯ͠͠·ͬͨ
ͦͷ1 Ϛωʔδϟ֬ೝͤͣʹ! ϦϦʔεͯ͠͠·ͬͨ ࣗಈԽ͖͠Εͳ͍खॱͰͷϛε
ͦͷ2 ࣗಈԽ͖͠Εͳ͍෦Λ! ڭ͑ͳ͍ͱ৽ਓ͕ϦϦʔεͰ͖ͳ͍
σϓϩΠͦͷͷҎ֎Λ ্ख͘αϙʔτͰ͖ͳ͍͔
σϓϩΠͦͷͷҎ֎Λ ্ख͘αϙʔτͰ͖ͳ͍͔ ϦϦʔε༻Pull Requestʹ खॱॻΛ·ͱΊΔ
ϦϦʔε༻Pull Request • develop͔ΒmasterͷPRΛɹɹɹ ϦϦʔεखॱαϙʔτπʔϧʹ͢Δ ͜Ε
None
λΠτϧʹ֓ཁ ·ͱ·Δ
ϦϦʔε͞ΕΔϦετΛूΊΔ
֬ೝ͢Δ߲͕ νΣοΫϘοΫεͰ·ͱ·Δ
ϦϦʔεલݕূڥͰ ֬ೝ͢Δͷ·ͱ·Δ
ίϚϯυҰൃͰ શࣗಈ࡞
͋ͱ͜ΕΛͬͯ ϦϦʔε࡞ۀΛߦ͏
֬ೝͯ͠ νΣοΫ
ΈΜͳͰνΣοΫ
શνΣοΫͯ͠ ϦϦʔε!!
ϦϦʔεϛε͕ݮΓ ୭ͰϦϦʔεͰ͖ΔΑ͏ʹ
HJUQSSFMFBTF https://github.com/motemen/git-pr-release • ϦϦʔεͪͷissueΛूΊΔ • ಠࣗʹ࡞ۀखॱॻͷςϯϓϨʔτΛ࡞ΕΔ
GitHubͱϦϦʔε • σϓϩΠग़དྷΔ͚ͩࣗಈԽ • શ෦ࣗಈԽ͍͠ • Pull RequestΛ͏·͍͘ɺ࡞ۀ खॱͰαϙʔτ
·ͱΊ
λεΫཧ ϨϏϡʔ ϦϦʔε Issues x Χϯόϯ ϨϏϡʔϥϕϧ ϨϏϡʔλΠϜ ϦϦʔεPR git-pr-release
• GitHubΛϝΠϯʹ࠷େݶ׆༻ • ͍ΖΜͳ => ͦͷͨͼղܾ๏ Λݕ౼ • ͪΐͬͱͨ͠
ϫʔΫϑϩʔ վળ͠ଓ͚Δ͜ͱ͕େࣄ
13
ͯͳΠϯλʔϯ wࣾһͱಉ͡։ൃϑϩʔΛܦݧͰ͖·͢ wֶੜͷํͥͻ http://developer.hatenastaff.com/ entry/2014/05/23/145719
None