Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
効果的にGitHubを使うために
Search
Takafumi Ikeda
June 07, 2017
Technology
10
4.1k
効果的にGitHubを使うために
GitHub Constellation Tokyo
https://githubuniverse.com/constellation/
Takafumi Ikeda
June 07, 2017
Tweet
Share
More Decks by Takafumi Ikeda
See All by Takafumi Ikeda
APIゲートウェイとサービスメッシュ
ikeike443
0
430
はじめてのKong Konnect
ikeike443
0
200
Kuma
ikeike443
2
3.5k
10分で分るGitHub Actions
ikeike443
3
2.1k
GitHub Actionsはどのような未来を描くのか
ikeike443
3
2.8k
GitHubber@日本
ikeike443
6
12k
GitHub Business Seminar
ikeike443
1
150
How we ship GitHub with GitHub -- ChatOps
ikeike443
0
350
How People Build Software
ikeike443
0
240
Other Decks in Technology
See All in Technology
Gemini でコードレビュー知見を見える化
zozotech
PRO
1
240
非CUDAの悲哀 〜Claude Code と挑んだ image to 3D “Hunyuan3D”を EVO-X2(Ryzen AI Max+395)で動作させるチャレンジ〜
hawkymisc
1
170
文字列の並び順 / Unicode Collation
tmtms
3
480
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
1
700
評価駆動開発で不確実性を制御する - MLflow 3が支えるエージェント開発
databricksjapan
1
110
ブロックテーマとこれからの WordPress サイト制作 / Toyama WordPress Meetup Vol.81
torounit
0
540
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
220
Playwrightのソースコードに見る、自動テストを自動で書く技術
yusukeiwaki
13
5.2k
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
1.7k
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
200
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
680
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
250
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
How GitHub (no longer) Works
holman
316
140k
Producing Creativity
orderedlist
PRO
348
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Why Our Code Smells
bkeepers
PRO
340
57k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
Where software is built ޮՌతʹGitHubΛ͏ͨΊʹ @ikeike443
! Where software is built Who am I? 2 a
ikeike443
# Where software is built # $ 3 TAKAFUMI IKEDA
SOLUTIONS ENGINEER Who am I?
Where software is built % Agenda 4 •͓٬༷ʹڞ௨͢Δ՝ •։ൃϑϩʔߏஙͷͨΊͷιϦϡʔγϣϯ •ҙ֎ͱΒΕ͍ͯͳ͍Tips
•·ͱΊ %
How people build software % ڞ௨͢Δ՝ 5 • OrgΛ͚͗͢ɺϓϩδΣΫτຖɺ෦ॺຖʹαΠϩԽ͍ͯ͠Δ •
CI·Ͱख͕ճΒͳ͍ɺϏϧυखॱ͕ҰఆͰͳ͍ • Pull RequestΛ͏·͑͘ͳ͍ɺϚʔδʹۤ࿑͢Δ • νʔϜͷशख़ʹΒ͖͕ͭ͋Δ • Φʔϓϯʹ͍͕ͨ͠ɺಉ࣌ʹ҆શੑ୲อ͍ͨ͠
How people build software % ຊ 6 • Org/Teamͷਖ਼͍͍͜͠ͳ͠ํ •
GitHub FlowͷԠ༻ɺपลػೳͷ͍ํ • ͦͷଞɺϑϩʔߏஙʹཱͭҙ֎ͱΒΕ͍ͯͳ͍ػೳͷհ
How people build software OrganizationͱTeam ࠷ॳʹऔΓΉ͖͜͜ 7 %
How people build software % 8
How people build software % 9
How people build software % OrganizationΛ͚͗͢Δ 10 • Α͋͘Δࣄྫ: •
෦ॺ͝ͱʹOrgΛ͚Δʢ৫ߏͱҰகͤ͞Α͏ͱ͢Δʣ • ϓϩδΣΫτ͕࢝·ΔͨͼʹOrgΛ͚Δ • 200Ҏ্ͷOrg͕͋Δྫ
How people build software % Org͕ଟ͍ͱى͖Δ 11 • @mentionOrgΛԣஅͯ͠ಧ͔ͳ͍ͨΊɺαΠϩԽ •
ϝϯόʔ͕૿͑ΔͨͼʹOrgͷՃ࡞ۀ͕ൃੜ
How people build software % OrgΛগͳ͘ɺTeamΛଟ͘ 12 • OrgΛͰ͖ΔݶΓগͳ͘͠ɺݟ௨͠ΛΑ͘ •
TeamΛͬͯݖݶཧΛࡉ͘ઃఆ͢Δ͜ͱ • LDAP Team SyncΛ͏·͍͘ɺϝϯςΛݮ
How people build software % OrgΛগͳ͘͢Δͱෆ҆ 13 • ಁ໌ԽʹΑΔϝϦοτͱɺෆҙͷใ࿙͍͑ͷؒͰΉ
How people build software % ಁ໌Խͷ༷ʑͳྫ 14 • ͯ͢Φʔϓϯ •
GitHub.comΛͬͨOSSӡӦ • ࣾͯ͢Φʔϓϯɺࣾ֎ʹΫϩʔζ • GitHub.com Business Plan Hosted • GHEʹͯPublic Modeӡ༻ • ࣾһʹΦʔϓϯʹɺύʔτφʔʹ੍ݶΛೖΕ͍ͨ • ز͔ͭͷύλʔϯ
How people build software % GitHubͰͰ͖Δݖݶཧ 15 • GHEͷPublic/Private Mode
• GHEͷΈɺΠϯελϯεશମͷՄࢹੑΛઃఆՄೳ
How people build software % GitHubͰͰ͖Δݖݶཧ 16 • OrgͷDefault Permission
• ϝϯόʔͷσϑΥϧτݖݶʹ͍ͭͯ4ͭͷҟͳΔઃఆ͕Մೳ
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶ 17 • Α͋͘Δχʔζ •
ࣾһͱύʔτφʔͰݖݶΛ͚͍ͨ • ύʔτφʔʹಛఆͷϦϙδτϦҎ֎ҰӾཡ͢Βڐͨ͘͠ͳ͍
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶʢ̍ʣ 18 • OrgΛ͚Δ •
OrgΛ͚ɺશϦϙδτϦΛPrivateʹ͢Δ • ࣾһͱύʔτφʔͰ࡞ΔͷɺݟΔͷ͕શʹผͷ߹ʹ༗ޮ • ྆ऀͷίϥϘϨʔγϣϯΛॏࢹ͠ͳ͍έʔε
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶʢ̎ʣ 19 • ίϥϘϨʔλΛ͏·͘׆༻͢Δ •
ࣾһ͚ͩͷOrgΛ࡞ΓɺύʔτφʔΛೖΕͳ͍ • ύʔτφʔͷڠྗ͕ඞཁͳϦϙδτϦʹରͯ͠ɺݸผʹίϥϘϨʔ λͱͯ͠Ճ
How people build software % ࣾһʹΦʔϓϯɺύʔτφʔʹ੍ݶʢ̏ʣ 20 • OrgͷσϑΥϧτઃఆΛNoneʹ͢Δ •
ࣾһύʔτφʔಉ͡Orgʹॴଐ͠ɺTeamͰ͚ΔΠϝʔδ • σϑΥϧτͰҰPrivateϦϙδτϦΛݟΔ͜ͱ͕Ͱ͖ͳ͘ͳΔ • ύʔτφʔTeamΛݸผʹϦϙδτϦʹՃ͢Δ͜ͱͰݖݶཧ • ͨͩ͠ɺࣾһTeamݸผʹՃ͢Δඞཁ͋Γɺগ͠ࡶ
How people build software % Org/Team ·ͱΊ 21 • OrgΛগͳ͘ɺTeamΛଟ͘
• @mentionOrgΛ·ͨ͛ͳ͍ • OrgͷDefault Permission, Private ModeΛ͍͜ͳ͢ • Outside Collaborator֎෦ύʔτʔφʔʹ࠷ద
How people build software % Org/Team Tips 22 • TeamΛ৫ߏͱҰகͤ͞Δඞཁͳ͍
• Java Specialists, Security, SQL, Managers, Designers, … • ઐੑؔ৺ࣄͰάϧʔϐϯά͢Δ͜ͱେม༗ޮ • See also: https://github.com/blog/2316-organize-your-experts-with-ad-hoc-teams
How people build software % Org/Team Tips 23 • OrgΛू͢Δͱ
• ϦϙδτϦͷ͕େʹͳΓ୳͢ͷ͕େมʁ
How people build software % Org/Team Tips 24 • Topics
• ϦϙδτϦͷλά͚͕Մೳɺݕࡧʹ͑Δ • GHE2.10ΑΓ
How people build software % Org/Team Tips 25 • Pinned
Repositories • දతͳϦϙδτϦઌ಄ʹషΓ͚͓͚ͯΔ
How people build software % ੜͷ Org/Team ྫ 26
How people build software GitHub Flow ͯ͢ͷجຊͰ͢ 27 %
How people build software % GitHub Flow 28
Create a Feature Branch
Add commits
Open a Pull Request
Discuss and Review Code
How people build software % ίʔυϨϏϡʔ 33
% % hubot
How people build software % Hubot 35
How people build software % CI status Λ PR ʹ͢
36
Ship
How people build software % Deployment API 38
Merge with master
How people build software % 40
How people build software % Α͋͘Δޡղ 41 • ϚʔδલʹσϓϩΠͳΜͯͰ͖ͳ͍͔Βҧ͏ϑϩʔʹ •
GitHub FlowWeb։ൃҎ֎ʹ͑ͳ͍ • Git-Flow͕େن։ൃʹ͍͍ͯΔ
How people build software % ϙΠϯτ 42 • ੜଘظؒͷ͍ϒϥϯνΛݮΒ͢͜ͱ •
ཧతʹMasterҰຊͷΈ • Pull RequestϒϥϯνͰ͖Δ͚ͩૣ͘Ϛʔδ͢Δ • ҰͭҰͭͷมߋΛখ͘͞ • ϑΟʔνϟʔϑϥάͳͲ༗ޮʹ͏ • Ϛʔδͨ͠Β͙͢ʹফ͢
How people build software % ෳͷϒϥϯν͕ඞཁ 43 • ͦΕͧΕͷϒϥϯνʹରͯ͠GitHub Flow͕Մೳ
Open a Pull Request Open a Pull Request
How people build software % ෳͷϒϥϯν͕ඞཁ 44 • ϒϥϯν͕ଟ͍΄ͲBack Portͷ͕૿͑ɺෳࡶԽ
• ϒϥϯνΛݮΒ͢Α͏ʹ͢Δ͜ͱ͕ॏཁ
How people build software % λάͰସͰ͖ͳ͍͔ߟ͑ͯΈΔ 45 • ग़ՙόʔδϣϯɺίʔυϑϦʔζɺQAظ͕ؒඞཁͰ͋ΕɺλάͰସͰ͖ͳ͍͔ •
ඞཁ͕ੜͨ͡ͱ͖ͷΈϒϥϯνΛ࡞ΓɺऴΘͬͨΒফ͢ • ͜͜Ͱෳόʔδϣϯ͕ಉ࣌ʹଘࡏ͢ΔͱෳࡶʹͳΔ͜ͱʹҙ v0.1.pre v0.1.pre.2 v0.1 v0.2.pre
How people build software % GitHub Flow·ͱΊ 46 • GitHub
FlowԠ༻Մೳ • ظؒϒϥϯνͷΛͰ͖Δ͚ͩݮΒ͢ • λάΛ༗ޮ׆༻͢Δ
How people build software Pull Requestपลͷศརͳػೳ ͞·͟·ͳϫʔΫϑϩʔΛՄೳʹ 47 %
How people build software % ศརͳػೳ 48 • Revert •
Blame • Update Branch • Conflictͷղফ • ֤छϚʔδΦϓγϣϯ • ForkઌͷฤूڐՄ • etc
How people build software % Revert 49
how software is built % Revert 50 ຊޠԽͨ͠ ςετमਖ਼ ؔͷͳ͍मਖ਼
REVERT Pull Request Pull Request͕ؔ࿈͢ΔίϛοτΛ͍ͬͯΔ
how software is built % Blame 51
the best way to build and ship software % 52
Web UI͔ΒͷConflictղফ
How people build software Protected Branches ॊೈ͔ͭηΩϡΞͳϫʔΫϑϩʔߏஙΛՄೳʹ 53 %
How people build software % Protected Branches 54 • ༷ʑͳܗͰϒϥϯνΛอޢ
• Delete, Push -f ͷېࢭ • ϨϏϡʔͷඞਢԽ • CIͳͲεςʔλενΣοΫ • ϚʔδՄೳͳਓ/TeamΛ੍ݶ
How people build software ͦͷଞͷศརػೳ ࡉ͔͗ͯ͢ΘΒͳ͍ػೳ 55 %
How people build software % ҙ֎ͱΒΕ͍ͯͳ͍ػೳ܈ 56 • Release •
Pre-Receive Hooks (GHE Only) • ͞·͟·ͳRenderingΦϓγϣϯ • SVN Bridge • git-import
How people build software % Release 57 • Tagʹؔ࿈͚ͯΞηοτςΩετΛཧͰ͖Δ
How people build software % Pre Receive Hooks 58 •
GHE only͕ͩɺαʔόαΠυͷPre Receive Hook͕ॻ͚Δ • ใ࿙͍͑νΣοΫɺPGP伴ͷνΣοΫͳͲͳͲʹ • ηΩϡϦςΟ্ͷݒ೦Λ༧తʹνΣοΫͰ͖Δ • ࣗͷ͖ͳϥΠϒϥϦɺݴޠΛΠϯετʔϧՄೳ • Chroot, DockerରԠ • جຊతʹͳΜͰͰ͖ΔͷͰӡ༻ʹҙ͕ඞཁ
How people build software % ༷ʑͳϨϯμϦϯά 59 • ը૾ •
PDF • GeoJson • Jupyternootbook • STL • CSV/TSV • Markdown • etc
How people build software % ༷ʑͳϨϯμϦϯά: STL 60
How people build software % ༷ʑͳϨϯμϦϯά: CSV/TSV 61
How people build software % SVN Bridge 62 • GitHubͷΫϥΠΞϯτͱͯ͠SVNΛར༻Մೳ
How people build software % git-import 63 • ༷ʑͳVCS͔ΒͷҠߦΛαϙʔτ
How people build software % ·ͱΊ 64 • Org/TeamΛΓɺ্खʹ͍͜ͳͦ͏ •
GitHub Flow༷ʑͳܗͰԠ༻Մೳ • Protected BranchesΛ࢝ΊɺػೳΛΓɺ։ൃϑϩʔΛߏங͠Α͏ • ࢼߦࡨޡ͠ɺࣗ͝ʹͱͬͯͷ࠷దղΛݟग़ͦ͏
How people build software Thank you!
How people build software Questions?