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 enhancement
Search
Shin Tokiwa
August 06, 2012
Programming
3
250
git enhancement
#1 git-flow
Shin Tokiwa
August 06, 2012
Tweet
Share
Other Decks in Programming
See All in Programming
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
3
250
코딩 에이전트 체크리스트: Claude Code ver.
nacyot
0
980
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
420
ソフトウェア設計とAI技術の活用
masuda220
PRO
25
6.7k
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
26
8k
NEWT Backend Evolution
xpromx
1
150
Hack Claude Code with Claude Code
choplin
8
2.8k
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
140
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
180
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
190
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
What's in a price? How to price your products and services
michaelherold
246
12k
A Tale of Four Properties
chriscoyier
160
23k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Designing for Performance
lara
610
69k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Rails Girls Zürich Keynote
gr2m
95
14k
How STYLIGHT went responsive
nonsquared
100
5.6k
Transcript
git enhancement #1 git-flow 1 128݄6݄༵
Git ͬͯ·͔͢ʁ • தԝϦϙδτϦ͕ͳͯ͘ར༻Ͱ͖Δ • ϩʔΧϧͰϒϥϯνλάΛࣗ༝ʹ࡞Ͱ͖Δ • ෳͷϦϞʔτϦϙδτϦͱࣗ༝ʹ࿈ܞͰ͖Δ • Pull
Request (GitLab Ͱ Merge Request) ศར • ͳͲͳͲػೳ͕Γͩ͘͞Μʂ 2 128݄6݄༵
݁ߏͳΜͰͰ͖Δ 3 128݄6݄༵
Α͋͘Δޫܠ 4 128݄6݄༵
͓Ε Push ͨ͠Α Α͋͘Δޫܠ 4 128݄6݄༵
͓Ε Push ͨ͠Α ͜ͷ Branch ͳʹʁ Α͋͘Δޫܠ 4 128݄6݄༵
͓Ε Push ͨ͠Α ͜ͷ Branch ͳʹʁ ࠷৽ͲΕΑʁ Α͋͘Δޫܠ 4 128݄6݄༵
͓Ε Push ͨ͠Α ͜ͷ Branch ͳʹʁ ࠷৽ͲΕΑʁ ͜ͷόάमਖ਼Ͳͷ Branch ʹద༻ͨ͠ͷʁ
Α͋͘Δޫܠ 4 128݄6݄༵
ͭ·Γ… 5 128݄6݄༵
ͭ·Γ… ΧΦεͳঢ়گʹ ͳΓ͍͢ʂ 5 128݄6݄༵
ࠓͷຊ 6 128݄6݄༵
ࠓͷຊ git-flow ͕͍͢͝ 6 128݄6݄༵
What’s git-flow? 7 128݄6݄༵
What’s git-flow? • ࢄ͕ͪ͠ͳϒϥϯνΛཧ 7 128݄6݄༵
What’s git-flow? • ࢄ͕ͪ͠ͳϒϥϯνΛཧ • νʔϜͰϒϥϯνϞσϧΛڞ༗ 7 128݄6݄༵
What’s git-flow? • ࢄ͕ͪ͠ͳϒϥϯνΛཧ • νʔϜͰϒϥϯνϞσϧΛڞ༗ • Git ͷॴΛଛͳΘͣʹ Subversion
ͷΑ͏ͳूத ཧͬͪΌ͏ʂ 7 128݄6݄༵
What’s git-flow? • ࢄ͕ͪ͠ͳϒϥϯνΛཧ • νʔϜͰϒϥϯνϞσϧΛڞ༗ • Git ͷॴΛଛͳΘͣʹ Subversion
ͷΑ͏ͳूத ཧͬͪΌ͏ʂ • Ͱͨͩ git ίϚϯυΛϥοϓͯ͠Δ͚ͩ 7 128݄6݄༵
installation of git-flow • Mac OSX • brew install git-flow
• port install git-flow • Ubuntu • aptitude install git-flow • Windows • खॱ͕໘ͳͷͰׂѪ— 8 128݄6݄༵
git-flow branches Branch Name Description master ϦϦʔε༻ϒϥϯν develop ։ൃ༻ϒϥϯν feature/{feature
name} ػೳ։ൃ༻Ұ࣌ϒϥϯν release/{release name} ϦϦʔε༻Ұ࣌ϒϥϯν hotfix/{hotfix name} όάमਖ਼༻Ұ࣌ϒϥϯν support/{support name} αϙʔτ༻Ұ࣌ϒϥϯν {version} λά 9 128݄6݄༵
“master” and “develop” • “master” • ݱࡏϦϦʔε͞Ε͍ͯΔΞϓϦέʔγϣϯͱಉ • “develop” •
։ൃ൛ͷ࠷৽ • ʑػೳ͕Ճ͞Ε͍ͯ͘ײ͡ • ྫ͑։ൃڥͰಈ࡞͍ͯ͠ΔΞϓϦέʔγϣϯ͕ ૬͢Δ 10 128݄6݄༵
“feature” • “develop” Λݩʹ࡞͞ΕΔϒϥϯν • ಛఆͷػೳ։ൃணख࣌ʹ࡞ • ػೳ։ൃ͕ऴྃ͢Δͱ͖ʹ “develop” ʹϚʔδ
• Ϛʔδͱͱʹ “feature” ϒϥϯνഁغ 11 128݄6݄༵
“hotfix” • “master” Λݩʹ࡞͞ΕΔϒϥϯν • ՔಇதͷΞϓϦέʔγϣϯͰݟ͔ͭͬͨόάΛमਖ਼͢Δ ͨΊͷϒϥϯν • όάमਖ਼ணख࣌ʹ࡞ •
όάमਖ਼͕ऴྃ͢Δͱ͖ʹ “master” ͱ “develop” ʹϚʔδ • Ϛʔδͱͱʹ “hotfix” ϒϥϯνഁغ 12 128݄6݄༵
“release” • “develop” Λݩʹ࡞͞ΕΔϒϥϯν • ։ൃதͷ҆ఆ൛ΛϦϦʔε͢Δͱ͖ʹ࡞ • README ϦϦʔεϊʔτΛهड़ •
ϦϦʔελΠϛϯάͰ “master” ͱ “develop” ʹϚʔδ • Ϛʔδͱͱʹ “release” ϒϥϯνഁغ 13 128݄6݄༵
git-flow hands-on 14 128݄6݄༵
git-flow hands-on ͕࣌ؒ͋Ε ϥΠϒͰ ͬͯΈ·͢ 14 128݄6݄༵
؆୯ͳ·ͱΊ 15 128݄6݄༵
ػೳ։ൃ͢Δ • git flow feature start 1122_retrieve_gn • ͝ʹΐ͝ʹΐ։ൃ…ςετΕͣʹ… •
git flow feature finish 1122_retrieve_gn • “develop” ʹػೳ͕औΓࠐ·ΕΔ 16 128݄6݄༵
όάΛमਖ਼͢Δ • git flow hotfix start 1234_nullpo • ͝ʹΐ͝ʹΐमਖ਼͢Δ…વςετʂ •
git flow hotfix finish 1234_nullpo • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ 17 128݄6݄༵
όάΛमਖ਼͢Δ • git flow hotfix start 1234_nullpo • ͝ʹΐ͝ʹΐमਖ਼͢Δ…વςετʂ •
git flow hotfix finish 1234_nullpo • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ ࣗಈతʹ λά͚ 17 128݄6݄༵
ϦϦʔε͢Δ • git flow release start 1.2.1 • ϦϦʔεϊʔτΛॻ͜͏ʂ •
͜Μͳػೳ͕Ճ͞Εͨ • ͜Μͳόά͕मਖ਼͞Εͨ • git flow release finish 1.2.1 • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ 18 128݄6݄༵
ϦϦʔε͢Δ • git flow release start 1.2.1 • ϦϦʔεϊʔτΛॻ͜͏ʂ •
͜Μͳػೳ͕Ճ͞Εͨ • ͜Μͳόά͕मਖ਼͞Εͨ • git flow release finish 1.2.1 • “master” ͱ “develop” ʹऔΓࠐ·ΕΔ ࣗಈతʹ λά͚ 18 128݄6݄༵
refs • nvie/gitflow • https://github.com/nvie/gitflow/ • A successful Git branching
model • http://nvie.com/posts/a-successful-git-branching-model/ • git-flow ʹΑΔϒϥϯνͷཧ • http://www.oreilly.co.jp/community/blog/2011/11/branch- model-with-git-flow.html 19 128݄6݄༵
·ͩ·͍ͩ͜ͳͤͯͳ͍ͷͰ͕͢ git-flow ʹΑͬͯιʔεཧ͕Θ͔Γ͘͢ͳΔ ͱײ͍ͯ͡·͢ 20 128݄6݄༵
·ͩ·͍ͩ͜ͳͤͯͳ͍ͷͰ͕͢ git-flow ʹΑͬͯιʔεཧ͕Θ͔Γ͘͢ͳΔ ͱײ͍ͯ͡·͢ ͏Ͷ 20 128݄6݄༵
͓ΘΓ 21 128݄6݄༵