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
社内の学びの場・コミュニティ形成とエンジニア同士のリレーションシップ構築/devreljapan2024
nishiuma
3
290
OSTという文化を組織に根付かせてみた
sansantech
PRO
2
400
不動産tech Product Night#2_AIことはじめ_GA橋本
takehikohashimoto
0
190
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
5
46k
プロダクトエンジニアを支えるための開発生産性向上施策
tsukakei
0
150
サプライチェーン攻撃に備える
ryunen344
0
290
たった1人からはじめる【Agile Community of Practice】~ソース原理とFearless Changeを添えて~
ktc_corporate_it
1
500
JTCや セキュリティチェックリストが夢の跡
nikinusu
1
710
やってやろうじゃないかメカアジャイル! / Let's do it, mechanical agile!
psj59129
1
680
Privacy Sandbox on Android / DroidKaigi 2024
7pairs
1
270
技術的負債解消の取り組みと専門チームのお話
bengo4com
0
340
テスト”ケース”駆動開発 で手戻りをなくそう
ryohma0510
0
330
Featured
See All Featured
The Language of Interfaces
destraynor
153
23k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
103
48k
Building a Scalable Design System with Sketch
lauravandoore
459
32k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.2k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
24
610
Dealing with People You Can't Stand - Big Design 2015
cassininazir
363
22k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Designing for Performance
lara
604
68k
Side Projects
sachag
451
42k
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