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.3k
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
330
Other Decks in Programming
See All in Programming
Catch Up: Go Style Guide Update
andpad
0
240
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
180
Devoxx BE - Local Development in the AI Era
kdubois
0
140
はじめてのDSPy - 言語モデルを『プロンプト』ではなく『プログラミング』するための仕組み
masahiro_nishimi
3
13k
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
630
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
8
24k
モテるデスク環境
mozumasu
3
1.1k
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
250
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
420
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
360
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
990
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
The Invisible Side of Design
smashingmag
302
51k
Become a Pro
speakerdeck
PRO
29
5.6k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Faster Mobile Websites
deanohume
310
31k
Why Our Code Smells
bkeepers
PRO
340
57k
Fireside Chat
paigeccino
40
3.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
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