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
320
git flow
加速提升工作效率 & 品質 🔥
cjies
September 22, 2016
Tweet
Share
More Decks by cjies
See All by cjies
es module bundling with webpack 2
cjies
1
560
git, let it flow!
cjies
9
2.2k
Other Decks in Technology
See All in Technology
CodeRabbitと過ごした1ヶ月 ─ AIコードレビュー導入で実感したチーム開発の進化
mitohato14
1
230
Dataverseの検索列について
miyakemito
1
170
Simplify! 10 ways to reduce complexity in software development
ufried
1
220
AWSを利用する上で知っておきたい名前解決のはなし_彩の国埼玉支部#1
nagisa53
0
150
本当に必要なのは「QAという技術」だった!試行錯誤から生まれた、品質とデリバリーの両取りアプローチ / Turns Out, "QA as a Discipline" Was the Key!
ar_tama
3
650
Goの組織でバックエンドTypeScriptを採用してどうだったか / How was adopting backend TypeScript in a Golang company
kaminashi
12
9.1k
正式リリースされた Semantic Kernel の Agent Framework 全部紹介!
okazuki
0
260
10ヶ月かけてstyled-components v4からv5にアップデートした話
uhyo
5
450
Как мы автоматизировали интеграционное тестирование с Gonkey и не пожалели. Паша Егорычев, Кирилл Поляков
lamodatech
0
1.8k
コードや知識を組み込む / Incorporating Codes and Knowledge
ks91
PRO
0
160
勝手に!深堀り!Cloud Run worker pools / Deep dive Cloud Run worker pools
iselegant
4
630
コスト最適重視でAurora PostgreSQLのログ分析基盤を作ってみた #jawsug_tokyo
non97
1
860
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.3k
Building Adaptive Systems
keathley
41
2.5k
Faster Mobile Websites
deanohume
306
31k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
The Cult of Friendly URLs
andyhume
78
6.3k
Designing for humans not robots
tammielis
253
25k
Code Review Best Practice
trishagee
67
18k
We Have a Design System, Now What?
morganepeng
52
7.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Pragmatic Product Professional
lauravandoore
33
6.6k
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