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 flow
Search
cjies
September 22, 2016
Technology
0
310
git flow
加速提升工作效率 & 品質 🔥
cjies
September 22, 2016
Tweet
Share
More Decks by cjies
See All by cjies
es module bundling with webpack 2
cjies
1
550
git, let it flow!
cjies
9
2.2k
Other Decks in Technology
See All in Technology
Apple/Google/Amazonの決済システムの違いを踏まえた定期購読課金システムの構築 / abema-billing-system
cyberagentdevelopers
PRO
1
220
一休.comレストランにおけるRustの活用
kymmt90
3
580
신뢰할 수 있는 AI 검색 엔진을 만들기 위한 Liner의 여정
huffon
0
360
国土交通省 データコンペ参加者向け勉強会
takehikohashimoto
0
110
いまさらのStorybook
ikumatadokoro
0
140
プロダクト成長に対応するプラットフォーム戦略:Authleteによる共通認証基盤の移行事例 / Building an authentication platform using Authlete and AWS
kakehashi
1
150
visionOSでの空間表現実装とImmersive Video表示について / ai-immersive-visionos
cyberagentdevelopers
PRO
1
110
pandasはPolarsに性能面で追いつき追い越せるのか
vaaaaanquish
4
4.6k
omakaseしないための.rubocop.yml のつくりかた / How to Build Your .rubocop.yml to Avoid Omakase #kaigionrails
linkers_tech
3
740
とあるユーザー企業におけるリスクベースで考えるセキュリティ業務のお話し
4su_para
3
330
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
9
120k
生成AIの強みと弱みを理解して、生成AIがもたらすパワーをプロダクトの価値へ繋げるために実践したこと / advance-ai-generating
cyberagentdevelopers
PRO
1
180
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
43
6.6k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
We Have a Design System, Now What?
morganepeng
50
7.2k
What's new in Ruby 2.0
geeforr
342
31k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
167
49k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Music & Morning Musume
bryan
46
6.1k
Designing Experiences People Love
moore
138
23k
Making Projects Easy
brettharned
115
5.9k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Transcript
git flow 加速提升⼯工作效率 & 品質 CJ 2016/09/22 GSS
why git flow?
確保開發順暢...
多⼈人共同開發問題 • 各⾃自寫各的,不不知道怎麼整合? • 整合時不不⼩小⼼心覆蓋了了別⼈人的東⻄西... • 上傳有問題的 code 導致程式炸裂,⽽而⾃自⼰己不不知道... •
沒辦法確認哪個點是可以 work 的... • 最後⼤大家被搞得⼀一團亂...
pros of git flow • 更更加了了解專案整體、各個⽀支線的發展狀狀況 • 可各⾃自各開發⽀支線,不不會被其他⼈人影響 • 如果主線崩壞也可輕鬆
rollback • 分⼯工更更加輕鬆 開開⼼心⼼心下班去
what is git flow? 講這麼多... then
single branching master
develop hotfix release feature feature master v1.0 v1.1 v1.2 git
flow introduced by Vincent Driessen
master & develop develop master • 永遠在 production-ready 狀狀態 •
開發⽤用主線,永遠是最新的狀狀態
feature branch • 從 develop 分⽀支出來來開發新功能 • 完成後合併回 develop •
可多個 features 並⾏行行 • ⽤用完即棄 feature 1 develop feature 2
release branch • develop 發佈到 master 的記錄錄 • 過程中只修 bugs
• 完成後合併進 master & develop • ⽤用版號命名 release develop master
hotfix branch • 對 master 做緊急修正 • 過程中⼀一樣只修 bugs •
完成後合併進 master & develop • ⽤用完即棄 hotfix master develop
how to use git flow? 那...
⾸首先打開你的 terminal… $ git flow init
wtf!
SourceTree 其實有內奸內建 git flow 功能
可以從 toolbar 內開啟
Repository > Git flow / Hg flow
initialise
start a new branch
finish a branch
or merge
完成 release 或 hotfix branch 時, 會⾃自動幫你合併到 master & develop
a beautiful flow https://ihower.tw/blog/archives/5140
demo time
notices • merge 前記得要先 fetch or rebase,確保狀狀態是最新的 • 不不對主線直接 commit,必須另開⽀支援性
branch 再進⾏行行修改 • 必須 commit merge changes • 開 pull requests 做 code reviews
pull requests 除了了 git flow 外,還有⼀一個很重要的
pull requests merge requests
what is pull requests? feature develop 利利⽤用 pull requests 確認是否能進⾏行行
merge ?
• 描述做了了什什麼事情及⽬目的 • 可進⾏行行討論 & code reviews • 清楚知道哪個部分有被更更動 •
留留下記錄錄,⽅方便便之後重新翻閱 (merge requests in gitlab)
pull requests at iCHEF • 特定 template, 描述⽬目的&內容 • 必須進⾏行行
code reviews • 通過 CI 檢測 • 如有界⾯面更更動需提供截圖 • 不不能擺著超過⼀一週
獲得2個以上的『OK』才能通關 pull requests at iCHEF
github universe 2016 code better with reviews https://github.com/universe-2016
NEW approve & request changes
change base branch
references • http://nvie.com/posts/a-successful-git-branching-model • https://ihower.tw/blog/archives/5140 • https://yangsu.github.io/pull-request-tutorial • https://about.gitlab.com/2014/09/29/gitlab-flow
$ exit thanks for your listening