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
300
git flow
加速提升工作效率 & 品質 🔥
cjies
September 22, 2016
Tweet
Share
More Decks by cjies
See All by cjies
es module bundling with webpack 2
cjies
1
540
git, let it flow!
cjies
9
2.2k
Other Decks in Technology
See All in Technology
Challenges - Open Farming Hackdays 2024
loleg
0
560
データ化エンジニアとしての1年を振り返る
sansantech
PRO
3
250
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
200
Getting started with controlling LEGO using Swift
hcrane
0
130
2023 Japan AWS Jr.Championsに選出されての振り返りとこれから
hiropy877
1
130
AWS アーキテクチャクイズ
yuu26
2
700
Autopsy of a Cascading Outage from a MySQL Crashing Bug
jfg956
0
200
.NETの非同期戦略とUnityとの相互運用
neuecc
2
2.4k
8週連続ウェビナー_イチから学ぶFivetran
cmsuzu
0
160
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
220
技術広報経験0のEMがエンジニアブランディングをはじめてみた
coconala_engineer
1
130
検証からプロダクトへ: シームレスなLLM開発の ためのしくみ作り
nunukim
1
160
Featured
See All Featured
The Language of Interfaces
destraynor
150
23k
The Cult of Friendly URLs
andyhume
73
5.6k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
124
32k
We Have a Design System, Now What?
morganepeng
42
6.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
219
21k
The Power of CSS Pseudo Elements
geoffreycrofte
58
4.9k
jQuery: Nuts, Bolts and Bling
dougneiner
57
7.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
Scaling GitHub
holman
456
140k
Reflections from 52 weeks, 52 projects
jeffersonlam
343
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.2k
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