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, let it flow!
Search
cjies
December 27, 2016
Programming
9
2.2k
git, let it flow!
如何讓多人協作更加輕鬆,版控更加明確。Git flow here you are! 😉
F2E&RGBA 設計 Meetup 十二月號
cjies
December 27, 2016
Tweet
Share
More Decks by cjies
See All by cjies
es module bundling with webpack 2
cjies
1
560
git flow
cjies
0
320
Other Decks in Programming
See All in Programming
技術同人誌をMCP Serverにしてみた
74th
1
450
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
0
200
XP, Testing and ninja testing
m_seki
3
220
DroidKnights 2025 - 다양한 스크롤 뷰에서의 영상 재생
gaeun5744
3
330
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
160
Deep Dive into ~/.claude/projects
hiragram
10
2k
ReadMoreTextView
fornewid
1
490
WindowInsetsだってテストしたい
ryunen344
1
200
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
150
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
620
“いい感じ“な定量評価を求めて - Four Keysとアウトカムの間の探求 -
nealle
0
170
Is Xcode slowly dying out in 2025?
uetyo
1
230
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Statistics for Hackers
jakevdp
799
220k
We Have a Design System, Now What?
morganepeng
53
7.7k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Producing Creativity
orderedlist
PRO
346
40k
Transcript
$ git let it flow! CJ 2016/12/27 F2E&RGBA 設計 Meetup
⼗十⼆二⽉月號
CJies Tan front end n00b @ iCHEF cjies.com
what is git?
⛰ git ⼀一開始是為了了 更更好地管理理 Linux 核⼼心⽽而開發的 Linux
連猴⼦子都能懂的Git⼊入⾨門指南 https://backlogtool.com/git-guide/tw/
dropbox git 檢查點 ⼿手動 / ⾃自動上傳 commit 修改記錄錄 檔案為單位 ⼀一⾏行行為單位
內容差異異 別想了了 diff 版本控制 集中式 (dropbox 掛了了就真 GG) 分散式 (每⼀一個⼈人都有完整備份)
gitlab bitbucket github git server(s)
Q&A? 喘氣⼀一下...
團隊開發⼀一般會遇到的問題
各⾃自寫各的,不不知道怎麼整合? 不不⼩小⼼心覆蓋了了別⼈人的東⻄西 豬隊友上傳有問題的程式,就下班了了... 無法確認誰的才是最終版本 ⼤大家被搞得⼀一團亂 GG
None
git flow 其實這才是今天的主題...
a successful git branching model to versioning your source code.
- Vincent Driessen, 2010 http://nvie.com/posts/a-successful-git-branching-model/
commit 點 branch 線 merge ⾯面
single branching master
develop hotfix release feature feature master v1.0 v1.1 v1.2
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
pros of git flow
更更加了了解專案整體、各⽀支線的發展狀狀況 ⾃自⼰己的⽀支線⾃自⼰己開,分⼯工更更加明確 可以更更加容易易抓到戰犯 bug pick what you want
Q&A? 繼續喘氣⼀一下...
question 1: 我需要 git flow 嗎? (真的有幫到我?)
git flow 好像很複雜耶... @@ (有更更簡單的嗎?) question 2:
how to use git flow? https://speakerdeck.com/cjies/git-flow?slide=16 http://danielkummer.github.io/git-flow-cheatsheet/ question 3:
pull requests 除了了 git flow 既定流程外,還有⼀一個更更重要的...
what is pull requests? feature develop 利利⽤用 pull requests 確認是否能進⾏行行
merge ?
• 描述做了了什什麼事情及⽬目的 • 進⾏行行討論 & code reviews • 清楚知道哪個部分有被更更動 •
留留下記錄錄,⽅方便便之後重新翻閱 (merge requests in gitlab)
pull requests @ iCHEF • 固定 PULL_REQUEST_TEMPLATE • 進⾏行行 code
reviews • linter & test pass • 如有界⾯面更更動需提供截圖 • 不不能擺著超過⼀一個禮拜
⾄至少獲得2個 approve pull requests @ iCHEF
summary • git flow 只是⼀一種 branching strategy • 團隊合作更更有效率,分⼯工更更加明確 •
規則是死的 ⼈人是活的,尋找團隊適合的 workflow • 溝通最重要...
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