Soumettre la recherche
Mettre en ligne
Git flow 與團隊合作
•
Télécharger en tant que PPTX, PDF
•
42 j'aime
•
11,209 vues
Bo-Yi Wu
Suivre
Git Flow 進階操作與團隊合作
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 52
Télécharger maintenant
Recommandé
GitHub 실습 교육
GitHub 실습 교육
승엽 신
Github
Github
IFEDAYO ADEYEMI
GIT In Detail
GIT In Detail
Haitham Raik
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
Git and Github
Git and Github
Wen-Tien Chang
Git Tutorial 教學
Git Tutorial 教學
Wen-Tien Chang
Git & git hub
Git & git hub
PreetikaKanojia
Git 101
Git 101
Sachet Mittal
Recommandé
GitHub 실습 교육
GitHub 실습 교육
승엽 신
Github
Github
IFEDAYO ADEYEMI
GIT In Detail
GIT In Detail
Haitham Raik
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
【BS3】Visual Studio 2022 と .NET 6 での Windows アプリ開発技術の紹介
日本マイクロソフト株式会社
Git and Github
Git and Github
Wen-Tien Chang
Git Tutorial 教學
Git Tutorial 教學
Wen-Tien Chang
Git & git hub
Git & git hub
PreetikaKanojia
Git 101
Git 101
Sachet Mittal
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
Bo-Yi Wu
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
python-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしよう
monochrojazz
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafka
confluent
Git Flowを運用するために
Git Flowを運用するために
Shun Tsunoda
Corso js and angular
Corso js and angular
Giuseppe Viggiano
Gitlab flow solo
Gitlab flow solo
viniciusban
Improving fault tolerance and scaling out in Kafka Streams with Bill Bejeck |...
Improving fault tolerance and scaling out in Kafka Streams with Bill Bejeck |...
HostedbyConfluent
Introduction to git flow
Introduction to git flow
Knoldus Inc.
Introduction to Gitlab
Introduction to Gitlab
Julien Pivotto
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
Basic Jenkins Guide.pptx
Basic Jenkins Guide.pptx
Jayanga V. Liyanage
Git n git hub
Git n git hub
Jiwon Baek
USENIX ATC 2017: Visualizing Performance with Flame Graphs
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Brendan Gregg
Git and GitHub
Git and GitHub
James Gray
trace code tool 以及人月神話
trace code tool 以及人月神話
Yi-Hsiang Huang
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Alex Borysov
Git branching-model
Git branching-model
Aaron Huang
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
Contenu connexe
Tendances
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
nexusz99
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Mikhail Melnik
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
Yoshiki Tanaka
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
Bo-Yi Wu
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
Will Huang
python-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしよう
monochrojazz
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafka
confluent
Git Flowを運用するために
Git Flowを運用するために
Shun Tsunoda
Corso js and angular
Corso js and angular
Giuseppe Viggiano
Gitlab flow solo
Gitlab flow solo
viniciusban
Improving fault tolerance and scaling out in Kafka Streams with Bill Bejeck |...
Improving fault tolerance and scaling out in Kafka Streams with Bill Bejeck |...
HostedbyConfluent
Introduction to git flow
Introduction to git flow
Knoldus Inc.
Introduction to Gitlab
Introduction to Gitlab
Julien Pivotto
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
Basic Jenkins Guide.pptx
Basic Jenkins Guide.pptx
Jayanga V. Liyanage
Git n git hub
Git n git hub
Jiwon Baek
USENIX ATC 2017: Visualizing Performance with Flame Graphs
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Brendan Gregg
Git and GitHub
Git and GitHub
James Gray
trace code tool 以及人月神話
trace code tool 以及人月神話
Yi-Hsiang Huang
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Alex Borysov
Tendances
(20)
Github 으로 학교 팀 프로젝트 하기
Github 으로 학교 팀 프로젝트 하기
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
Git_GitHub 入門者向けスライド.pdf
Git_GitHub 入門者向けスライド.pdf
用 Drone 打造輕量級容器持續交付平台
用 Drone 打造輕量級容器持續交付平台
git merge 與 rebase 的觀念與實務應用
git merge 與 rebase 的觀念與實務應用
python-ptraceでプロセスメモリエディタっぽいことをしよう
python-ptraceでプロセスメモリエディタっぽいことをしよう
Reliability Guarantees for Apache Kafka
Reliability Guarantees for Apache Kafka
Git Flowを運用するために
Git Flowを運用するために
Corso js and angular
Corso js and angular
Gitlab flow solo
Gitlab flow solo
Improving fault tolerance and scaling out in Kafka Streams with Bill Bejeck |...
Improving fault tolerance and scaling out in Kafka Streams with Bill Bejeck |...
Introduction to git flow
Introduction to git flow
Introduction to Gitlab
Introduction to Gitlab
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
Basic Jenkins Guide.pptx
Basic Jenkins Guide.pptx
Git n git hub
Git n git hub
USENIX ATC 2017: Visualizing Performance with Flame Graphs
USENIX ATC 2017: Visualizing Performance with Flame Graphs
Git and GitHub
Git and GitHub
trace code tool 以及人月神話
trace code tool 以及人月神話
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
Devoxx Belgium 2022 gRPC Cornerstone: HTTP/2… or HTTP/3?
En vedette
Git branching-model
Git branching-model
Aaron Huang
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
Shengyou Fan
CRUD 綜合運用
CRUD 綜合運用
Shengyou Fan
Route 路由控制
Route 路由控制
Shengyou Fan
Composer 套件管理
Composer 套件管理
Shengyou Fan
使用者認證
使用者認證
Shengyou Fan
開發環境建置
開發環境建置
Shengyou Fan
Model 設定與 Seeding
Model 設定與 Seeding
Shengyou Fan
驗證與訊息
驗證與訊息
Shengyou Fan
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Shengyou Fan
Eloquent ORM
Eloquent ORM
Shengyou Fan
Package 安裝與使用
Package 安裝與使用
Shengyou Fan
整合 Open ID
整合 Open ID
Shengyou Fan
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
Shengyou Fan
工作坊簡介
工作坊簡介
Shengyou Fan
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
Shengyou Fan
使用 Controller
使用 Controller
Shengyou Fan
En vedette
(17)
Git branching-model
Git branching-model
啟動 Laravel 與環境設定
啟動 Laravel 與環境設定
CRUD 綜合運用
CRUD 綜合運用
Route 路由控制
Route 路由控制
Composer 套件管理
Composer 套件管理
使用者認證
使用者認證
開發環境建置
開發環境建置
Model 設定與 Seeding
Model 設定與 Seeding
驗證與訊息
驗證與訊息
Migrations 與 Schema 操作
Migrations 與 Schema 操作
Eloquent ORM
Eloquent ORM
Package 安裝與使用
Package 安裝與使用
整合 Open ID
整合 Open ID
PHP 語法基礎與物件導向
PHP 語法基礎與物件導向
工作坊簡介
工作坊簡介
View 與 Blade 樣板引擎
View 與 Blade 樣板引擎
使用 Controller
使用 Controller
Similaire à Git flow 與團隊合作
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Cloud Tu
Git & git flow
Git & git flow
Amo Wu
COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報
Bachue Zhou
Git 使用介绍
Git 使用介绍
medcl
Git Flow 管理
Git Flow 管理
Pu Lee
Intro to Git 投影片
Intro to Git 投影片
Tony Yeh
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
flylon
Git原理与实战 201607
Git原理与实战 201607
Charles Tang
Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
Jimmy Lai
Git 入門與實作
Git 入門與實作
奕浦 郭
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
Wei-Yuan Chang
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
Git flow
Git flow
shaokun
Git 入门实战
Git 入门实战
icy leaf
Learn git
Learn git
甘 李
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹
PingLun Liao
CICD Workshop 20180922
CICD Workshop 20180922
Earou Huang
Git and git hub
Git and git hub
唯 李
Git in a nutshell
Git in a nutshell
Nelson Tai
How we migrate TFS to Git ( using Azure DevOps )
How we migrate TFS to Git ( using Azure DevOps )
Roberson Liou
Similaire à Git flow 與團隊合作
(20)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git tutorial for windows user (給 Windows user 的 Git 教學)
Git & git flow
Git & git flow
COSCUP 2015 開源之道-Git工作坊教學簡報
COSCUP 2015 開源之道-Git工作坊教學簡報
Git 使用介绍
Git 使用介绍
Git Flow 管理
Git Flow 管理
Intro to Git 投影片
Intro to Git 投影片
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git 超簡單學習懶人包(軟體程式版本控管系統)
Git原理与实战 201607
Git原理与实战 201607
Continuous Delivery: automated testing, continuous integration and continuous...
Continuous Delivery: automated testing, continuous integration and continuous...
Git 入門與實作
Git 入門與實作
Learning to Use Git | WeiYuan
Learning to Use Git | WeiYuan
Git 版本控制 (使用教學)
Git 版本控制 (使用教學)
Git flow
Git flow
Git 入门实战
Git 入门实战
Learn git
Learn git
Git 程式碼版本控制軟體介紹
Git 程式碼版本控制軟體介紹
CICD Workshop 20180922
CICD Workshop 20180922
Git and git hub
Git and git hub
Git in a nutshell
Git in a nutshell
How we migrate TFS to Git ( using Azure DevOps )
How we migrate TFS to Git ( using Azure DevOps )
Plus de Bo-Yi Wu
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
Bo-Yi Wu
用 Go 語言打造多台機器 Scale 架構
用 Go 語言打造多台機器 Scale 架構
Bo-Yi Wu
Job Queue in Golang
Job Queue in Golang
Bo-Yi Wu
Golang Project Layout and Practice
Golang Project Layout and Practice
Bo-Yi Wu
Introduction to GitHub Actions
Introduction to GitHub Actions
Bo-Yi Wu
Drone 1.0 Feature
Drone 1.0 Feature
Bo-Yi Wu
Drone CI/CD Platform
Drone CI/CD Platform
Bo-Yi Wu
GraphQL IN Golang
GraphQL IN Golang
Bo-Yi Wu
Go 語言基礎簡介
Go 語言基礎簡介
Bo-Yi Wu
drone continuous Integration
drone continuous Integration
Bo-Yi Wu
Gorush: A push notification server written in Go
Gorush: A push notification server written in Go
Bo-Yi Wu
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
Bo-Yi Wu
Introduction to Gitea with Drone
Introduction to Gitea with Drone
Bo-Yi Wu
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
Bo-Yi Wu
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
Bo-Yi Wu
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: Gitea
Bo-Yi Wu
Write microservice in golang
Write microservice in golang
Bo-Yi Wu
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
Bo-Yi Wu
PHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding style
Bo-Yi Wu
Plus de Bo-Yi Wu
(20)
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
用 Go 語言打造多台機器 Scale 架構
用 Go 語言打造多台機器 Scale 架構
Job Queue in Golang
Job Queue in Golang
Golang Project Layout and Practice
Golang Project Layout and Practice
Introduction to GitHub Actions
Introduction to GitHub Actions
Drone 1.0 Feature
Drone 1.0 Feature
Drone CI/CD Platform
Drone CI/CD Platform
GraphQL IN Golang
GraphQL IN Golang
Go 語言基礎簡介
Go 語言基礎簡介
drone continuous Integration
drone continuous Integration
Gorush: A push notification server written in Go
Gorush: A push notification server written in Go
用 Go 語言打造微服務架構
用 Go 語言打造微服務架構
Introduction to Gitea with Drone
Introduction to Gitea with Drone
運用 Docker 整合 Laravel 提升團隊開發效率
運用 Docker 整合 Laravel 提升團隊開發效率
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
用 Go 語言打造 DevOps Bot
用 Go 語言打造 DevOps Bot
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: Gitea
Write microservice in golang
Write microservice in golang
用 Docker 改善團隊合作模式
用 Docker 改善團隊合作模式
PHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding style
Git flow 與團隊合作
1.
團隊合作 Git tips and
flow Bo-Yi Wu 2016.04.21 1
2.
關於我 http://blog.wu-boy.com/ https://github.com/appleboy https://www.facebook.com/appleboy46 2
3.
大綱 • Git 工作流程介紹 •
Git 使用法則及小技巧 3
4.
先來看看團隊開發流程 4
5.
5 1.Develop 2. Pull Request 3. Code Review 4.
Deploy
6.
Git flow 早先 Git
開發模式 6
7.
7
8.
Main Branch • Develop –
最新的開發分支 • Master – Production 專屬分支 8
9.
Support branch • Feature –
開發新功能,從 develop 分支出來,完成後 merge 回 develop • Release – 準備 release 版本,從 develop 分支出來,只修 bugs, 完成後 merge 回 develop 和 master • Hotfix – 重大 bugs 修復,從 master 分支出來,完成後 Merge 回 develop 和 master 9
10.
Git flow 詳細流程可以參考 https://goo.gl/XIThFY 10
11.
有沒有覺得好多 Branch 搞得好複雜 11
12.
Create branch • Master •
Develop • Feature Merge Branch • Master • Develop Code Conflict • Master • Develop 該從哪邊拉 branch 要 merge 回哪個 branch 要解決多次相同 Conflict 12
13.
對團隊來說 • 開發者不易瞭解整個 Git
flow • 開發者不知道從哪個 Branch 繼續開發 • 開發完成後該 merge 回 master 或 develop? • 需要解決多次衝突 (Merge 回多個分支) 13
14.
PM: 那個新功能沒上 Production RD:
抱歉忘記 Merge 回 Master (回去檢查看看是不是忘記 Merge?) 14
15.
搞得好複雜 技術主管管理不易 15
16.
Github Flow 16
17.
只有一個 Branch 叫
Master 不需要知道其他 Branch 作用 因為最終都會合併到 Master 分支 17
18.
Github 流程 • 開發都從
master branch 開分支 • 隨時都可以發 Pull Request • Review 過的 Pull Request 才可以 Merge • 隨時都可以發佈新版本 18
19.
Github Flow 優勢 •
只需要維護 Master 分支 – 禁止任何開發者使用 git push origin master –f – 請將 master 設定無法使用 –f 覆蓋 • 開發者容易理解及學習 • 管理者方便 Code Review 及發佈新版 – 不用再擔心少 Merge branch – 不用再擔心開發人員玩壞 branch 19
20.
20
21.
21 1.Develop 2. Pull Request 3. Code Review 4.
Deploy Github Flow 快速上版
22.
該如何制訂 Production 編號 請善用
git tag 來 release production 22
23.
上 Hotfix 版本 Tag
上 production • git checkout –b hotfix 1.0.0 • git commit –a –m ‘xxxx’ • git tag –a 1.0.1 –m ‘1.0.1’ • git checkout master • git cherry-pick commit-id Master 上 production • git commit –a –m ‘xxxx’ • git tag –a 1.0.1 –m ‘1.0.1’ 23
24.
24 Tag 1.0.0 Patch-1 Tag 1.0.1 Patch-1 Commit
C Commit A Commit B Tag 上 production git cherry-pick patch-1
25.
團隊 Git 使用法則 25
26.
Git commit • 標題不要過長
(請勿超過 50 字元) • 標題請務必連結上 Issue Track System – jira, github, redmine… 等 • 內容請補上 What, Why and How – 或者是在 Issue Track 上描述清楚 • 不要紀錄無關緊要的 commit – 像是 fix typo, update readme … 等 26
27.
27 Assign Issue Create Branch Fix issue Code Review Testing
28.
為什麼要 Code Review •
降低 Production 出包機率 • 可以學習 coder 為什麼要這樣寫 • 可以學習 reviewer 會怎麼建議 • 團隊素質水準提高 28
29.
29 Fix Issue Code Review Fix Issue Code Review Fix
issue git commit –a –m ‘fix typo’ git commit –a –m ‘update readme’ git commit –a –m ‘fix typo’
30.
Git log • git
commit –a –m ‘fix typo 1’ • git commit –a –m ‘fix typo 2’ • git commit –a –m ‘fix typo 3’ • git commit –a –m ‘fix typo 4’ • git commit –a –m ‘fix typo 5’ • git commit –a –m ‘fix typo 6’ 30
31.
31 https://github.com/h5bp/Front-end-Developer-Interview- Questions/pull/241/commits
32.
Merge 到 Master
分支前 請務必 squash your commit. 32
33.
Two way to
squash your commit • Git reset (一般用法) • Git rebase (進階用法) 33
34.
git reset • git
reset --soft HEAD^ – 合併多個 commit – 修改上一個 commit message • git reset --hard HEAD^ (小心使用) – 回復到上一個 commit 狀態 – 這次修改,但是尚未 commit 的更動會消失 34
35.
Demo 35
36.
git rebase –i
commitID -i 互動模式 36
37.
37
38.
38
39.
整理完 commit log
後 請把 master merge 到您的 branch 39
40.
Two way to
merge master • git merge master • git rebase master 40
41.
41 git log --date-order
42.
42 git log --topo-order
43.
43
44.
好處是確保你的 commit 保持在 Log
最上面 之後追 commit log 會比較好找 44
45.
更新目前 branch 到最新 git
pull --rebase origin master 45
46.
Demo 46
47.
Git diff 好工具 diff-so-fancy https://github.com/so-fancy/diff-so-fancy 47
48.
48
49.
Git tips 49
50.
救回已經 commit 的程式碼 git
reflog 50
51.
51
52.
Any Question? 52
Télécharger maintenant