Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Alan Tsai
PPTX, PDF
5,614 views
大家應該都要會的工具 Git 從放棄到會用2-分支篇
AI-enhanced description
本文档深入探讨了 Git 工具的使用,涵盖了分支的创建、合并和冲突解决等关键概念。作者提供了多种命令和最佳实践,以帮助开发者高效管理版本控制。最后附有相关资源供进一步学习。
Software
◦
Read more
5
Save
Share
Embed
Embed presentation
Download
Downloaded 35 times
1
/ 87
2
/ 87
3
/ 87
4
/ 87
5
/ 87
6
/ 87
7
/ 87
8
/ 87
9
/ 87
10
/ 87
11
/ 87
12
/ 87
13
/ 87
14
/ 87
15
/ 87
16
/ 87
17
/ 87
18
/ 87
19
/ 87
20
/ 87
21
/ 87
22
/ 87
23
/ 87
24
/ 87
25
/ 87
26
/ 87
27
/ 87
28
/ 87
29
/ 87
30
/ 87
31
/ 87
32
/ 87
33
/ 87
34
/ 87
35
/ 87
36
/ 87
37
/ 87
38
/ 87
39
/ 87
40
/ 87
41
/ 87
42
/ 87
43
/ 87
44
/ 87
45
/ 87
46
/ 87
47
/ 87
48
/ 87
49
/ 87
50
/ 87
51
/ 87
52
/ 87
53
/ 87
54
/ 87
55
/ 87
56
/ 87
57
/ 87
58
/ 87
59
/ 87
60
/ 87
61
/ 87
62
/ 87
63
/ 87
64
/ 87
65
/ 87
66
/ 87
67
/ 87
68
/ 87
69
/ 87
70
/ 87
71
/ 87
72
/ 87
73
/ 87
74
/ 87
75
/ 87
76
/ 87
77
/ 87
78
/ 87
79
/ 87
80
/ 87
81
/ 87
82
/ 87
83
/ 87
84
/ 87
85
/ 87
86
/ 87
87
/ 87
More Related Content
PPTX
電子內容管理 使用Git 與 github 2
by
Alan Tsai
PPTX
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
by
Alan Tsai
PPTX
電子內容管理 使用Git 與 github 1
by
Alan Tsai
PPTX
用Octopus deploy做自動部署 - 快速上手
by
Alan Tsai
PDF
Git 版本控制 (使用教學)
by
Jui An Huang (黃瑞安)
PDF
Git由超淺入超深
by
羊 小咩 (lamb-mei)
PPTX
工程師必備第一工具 - Git
by
Alan Tsai
PDF
初心者 Git 上手攻略
by
Lucien Lee
電子內容管理 使用Git 與 github 2
by
Alan Tsai
大家應該都要會的工具 Git 從放棄到會用1-基礎篇
by
Alan Tsai
電子內容管理 使用Git 與 github 1
by
Alan Tsai
用Octopus deploy做自動部署 - 快速上手
by
Alan Tsai
Git 版本控制 (使用教學)
by
Jui An Huang (黃瑞安)
Git由超淺入超深
by
羊 小咩 (lamb-mei)
工程師必備第一工具 - Git
by
Alan Tsai
初心者 Git 上手攻略
by
Lucien Lee
What's hot
PDF
連哈秋都懂的Git教學
by
hydai
PDF
A successful git branching model 導讀
by
Wen Liao
PDF
Git Tutorial 教學
by
Wen-Tien Chang
PPTX
Git 入門與實作
by
奕浦 郭
PPTX
git merge 與 rebase 的觀念與實務應用
by
Will Huang
PDF
Introduction to git
by
Bo-Yi Wu
PDF
Git 版本控制系統 -- 從微觀到宏觀
by
Wen-Tien Chang
PDF
幸福快樂的完美結局
by
Anna Su
PPTX
Git基礎介紹
by
Max Ma
PPTX
Visual Studio 2015 與 Git 開發實戰
by
Will Huang
PDF
Git and Github basic with SourceTree
by
Chu-Siang Lai
PDF
版本控制 使用Git & git hub
by
維佋 唐
PDF
Git 入门实战
by
icy leaf
PDF
git, repo, Gerrit 基礎教學
by
Doremi Lin
PDF
Git in a nutshell
by
Nelson Tai
PDF
Git與source tree 基礎教學
by
Duncan Chen
PDF
Git tutorial for windows user (給 Windows user 的 Git 教學)
by
Cloud Tu
PDF
Code review on github training ( beginner )
by
JS Lee
PPTX
Mercurial簡介與教學
by
芳本 林
PPTX
Go 語言基礎簡介
by
Bo-Yi Wu
連哈秋都懂的Git教學
by
hydai
A successful git branching model 導讀
by
Wen Liao
Git Tutorial 教學
by
Wen-Tien Chang
Git 入門與實作
by
奕浦 郭
git merge 與 rebase 的觀念與實務應用
by
Will Huang
Introduction to git
by
Bo-Yi Wu
Git 版本控制系統 -- 從微觀到宏觀
by
Wen-Tien Chang
幸福快樂的完美結局
by
Anna Su
Git基礎介紹
by
Max Ma
Visual Studio 2015 與 Git 開發實戰
by
Will Huang
Git and Github basic with SourceTree
by
Chu-Siang Lai
版本控制 使用Git & git hub
by
維佋 唐
Git 入门实战
by
icy leaf
git, repo, Gerrit 基礎教學
by
Doremi Lin
Git in a nutshell
by
Nelson Tai
Git與source tree 基礎教學
by
Duncan Chen
Git tutorial for windows user (給 Windows user 的 Git 教學)
by
Cloud Tu
Code review on github training ( beginner )
by
JS Lee
Mercurial簡介與教學
by
芳本 林
Go 語言基礎簡介
by
Bo-Yi Wu
Similar to 大家應該都要會的工具 Git 從放棄到會用2-分支篇
PDF
Git 經驗分享
by
Mu Chun Wang
PPTX
Git & git hub v1.2
by
Chris Chen
PPTX
Git introduction
by
mythnc
PDF
如何與 Git 優雅地在樹上唱歌
by
Mu Chun Wang
PPTX
Git and git hub
by
唯 李
PDF
Git Tutorial
by
Drake Huang
ODP
Git 教學
by
Ming-Sian Lin
PPT
Git 超簡單學習懶人包(軟體程式版本控管系統)
by
flylon
PDF
Intro to Git 投影片
by
Tony Yeh
PDF
Git 簡介(古時候的簡報備份)
by
Hsin-lin Cheng
PPTX
20170510 git 懶人包
by
Chen-Ming Yang
PDF
Learning to Use Git | WeiYuan
by
Wei-Yuan Chang
PDF
COSCUP 2015 開源之道-Git工作坊教學簡報
by
Bachue Zhou
PDF
寫給大家的 Git 教學
by
littlebtc
PPTX
GIT實務操作與理論
by
鵬 大
ODP
Git 程式碼版本控制軟體介紹
by
PingLun Liao
PPT
Learn git
by
甘 李
PDF
前端的未來 - 前端工程實務訓練
by
Joseph Chiang
PDF
Git 入門與應用
by
Allen Chou
PDF
Git 好吃嗎
by
Szuping Wang
Git 經驗分享
by
Mu Chun Wang
Git & git hub v1.2
by
Chris Chen
Git introduction
by
mythnc
如何與 Git 優雅地在樹上唱歌
by
Mu Chun Wang
Git and git hub
by
唯 李
Git Tutorial
by
Drake Huang
Git 教學
by
Ming-Sian Lin
Git 超簡單學習懶人包(軟體程式版本控管系統)
by
flylon
Intro to Git 投影片
by
Tony Yeh
Git 簡介(古時候的簡報備份)
by
Hsin-lin Cheng
20170510 git 懶人包
by
Chen-Ming Yang
Learning to Use Git | WeiYuan
by
Wei-Yuan Chang
COSCUP 2015 開源之道-Git工作坊教學簡報
by
Bachue Zhou
寫給大家的 Git 教學
by
littlebtc
GIT實務操作與理論
by
鵬 大
Git 程式碼版本控制軟體介紹
by
PingLun Liao
Learn git
by
甘 李
前端的未來 - 前端工程實務訓練
by
Joseph Chiang
Git 入門與應用
by
Allen Chou
Git 好吃嗎
by
Szuping Wang
More from Alan Tsai
PDF
初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
by
Alan Tsai
PDF
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
by
Alan Tsai
PDF
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
by
Alan Tsai
PDF
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
by
Alan Tsai
PDF
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
by
Alan Tsai
PPTX
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
by
Alan Tsai
PDF
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
by
Alan Tsai
PPTX
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
by
Alan Tsai
PPTX
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
by
Alan Tsai
PDF
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
by
Alan Tsai
PPTX
我和阿九Azure有約 39 Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Managem...
by
Alan Tsai
PPTX
我和阿九Azure有約 38 Azure Blob Storage 如何省錢?搞懂Access Tier (Alan Tsai 的學習筆記)
by
Alan Tsai
PPTX
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
by
Alan Tsai
PPTX
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
by
Alan Tsai
PPTX
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
by
Alan Tsai
PPTX
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
by
Alan Tsai
PPTX
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
by
Alan Tsai
PPTX
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
by
Alan Tsai
PPTX
Azure Taiwan - Keep azure cost down (Azure 成本管控)
by
Alan Tsai
PPTX
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
by
Alan Tsai
初探 Prompt Flow 開發生成式 AI 應用的利器 | R-Ladies Taipei
by
Alan Tsai
從 GitHub Copilot 到 Enterprise Copilot:打造符合企業需求的智能開發助手之路 | .NET Conf 2023 Taiwan
by
Alan Tsai
探索 API 開發的挑戰與解決之道 | .NET Conf 2023 Taiwan
by
Alan Tsai
初探 Data API Builder:在幾分鐘內將資料庫轉換成 REST 和 GraphQL 不再是夢想
by
Alan Tsai
Microsoft Learn AI 挑戰賽-實戰三 MLOps | Alan Tsai
by
Alan Tsai
2021 Net Conf Taiwan-初探 Azure Communication Service讓 App 也有視訊、通話、即時聊天、簡訊和電話功能
by
Alan Tsai
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
by
Alan Tsai
我和阿九(Azure)有約 17 Azure Sql Database 基本介紹
by
Alan Tsai
不會 Javascript 沒關係,用 Blazor 來解決前端需求 - 成為 Full Stack .NET 開發者吧 - .NET Conf 2020...
by
Alan Tsai
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
by
Alan Tsai
我和阿九Azure有約 39 Azure Blob Storage 如何省錢?設定 Access Tier 以及透過 Lifecycle Managem...
by
Alan Tsai
我和阿九Azure有約 38 Azure Blob Storage 如何省錢?搞懂Access Tier (Alan Tsai 的學習筆記)
by
Alan Tsai
我和阿九Azure有約 37 Azure Blob Storage 如何檔案異動自動記錄建立檔案版本?Version Preview (Alan Tsai...
by
Alan Tsai
我和阿九Azure有約 36 Azure Blob Storage 如何開啟snapshot保留目前狀態 (Alan Tsai的學習筆記)
by
Alan Tsai
我和阿九Azure有約 35 Azure Blob Storage 如何開啟 Soft Delete?避免誤刪檔案 (Alan Tsai的學習筆記)
by
Alan Tsai
我和阿九Azure有約 34 Azure File Storage 什麼時候適合用Azure File? File vs Disk Storage (Al...
by
Alan Tsai
我和阿九Azure有約 33 Azure File Storage 什麼時候適合用Azure File? File vs Blob (Alan Tsai的...
by
Alan Tsai
我和阿九Azure有約 32 Azure File Storage 介紹 (Alan Tsai的學習筆記)
by
Alan Tsai
Azure Taiwan - Keep azure cost down (Azure 成本管控)
by
Alan Tsai
我和阿九(Azure)有約 31 Azure Blob Storage 使用azcopy進行自動化作業 (Alan Tsai 的學習筆記)
by
Alan Tsai
大家應該都要會的工具 Git 從放棄到會用2-分支篇
1.
大家應該都要會的工具 git By Alan
Tsai 2017-06-24 從放棄到會用 – 分支篇
2.
關於我 2 ▰Alan Tsai 蔡孟玹 ▰後端(攻城)工程師 ▻Web
Developer - 主要使用 .Net/C# 和 Asp .Net Mvc ▰看小說 ▰找到我 – contact@alantsai.net ▻http://blog.alantsai.net - Alan Tsai 的學習筆記 ▻{服務}.alantsai.net ▻http://fb.alantsai.net - fb ▻http://ln.alantsai.net – linkeding ▻http://ss.alantsai.net - slideshare
3.
Agenda 3 ▰Branch 目的 ▰了解git 運作模式 ▰合併
4.
Branch的目的 4
5.
千金難買早知道 5
6.
開branch 6 ▰工作快速切換 ▻Feature ▻Issue ▰嘗試性 ▰開branch換時間點
7.
Git的運作機制 7
8.
版控什麼 8 ▰其他版控看的是檔案變更 ▰http://git-scm.com/book/en/Getting-Started-Git-Basics#Snapshots,-Not-Differences
9.
版控什麼 9 ▰Git版控的是內容變更 ▰每個commit是snapshot ▰http://git-scm.com/book/en/Getting-Started-Git-Basics#Snapshots,-Not-Differences
10.
Git 構成單位 10 ▰Object ▻記錄資訊 ▰Ref ▻指針(pointer)資訊 ▻快速定義到某一個組合
11.
Git的構成單位 - object 11 ▰Object
– SHA1 ▻tree ▻同等於 資料夾 ▻blob ▻同等於 檔案 ▻Commit ▻tree、父 commit ▻Annotated tag ▻同commit
12.
Git的構成單位 - object 12
13.
Git的構成單位 – 靈活的組成單位 13
14.
Git commit示意圖 14 ▰Git commit示意圖
15.
Git commit示意圖 –
簡化 15 C0 C1 C2
16.
Git的構成單位 - ref 16 ▰每次都要記住sha1很麻煩 ▰一個好記得名字 ▻預設有個
master branch ▻有個HEAD,代表目前位置 C0 C1 C2 master HEAD
17.
Git commit到底發生什麼 17 ▰當commit的時候 ▻由head帶著目前branch前進 ▻建立出commit C0 C1
C2 master HEAD C3
18.
開始使用Branch 18
19.
建立branch 並且切換 19
20.
建立branch 並且切換 21 ▰或 git checkout
–b branch1 git branch branch1 C0 C1 C2 master HEAD branch1 HEAD git checkout branch1
21.
建議的branch命名方式 22 ▰通常branch會是一個功能或者bug修改 ▻{issue tracking號碼}-概述 ▻2-addValidation ▰Branch前面加上前戳 –
用 斜線分隔 ▻容易區分類型 ▻feautre/2-addValidation ▻hotfix/3-exceptionDivideByZero
22.
切換、刪除 branch 23 ▰圓圈 粗體
目前所在的branch ▻點branch名稱兩下 ▻也可以點log兩下切換branch ▰刪除branch ▻右鍵 -> Delete {branch 名稱} git checkout branch1 git branch –d branch1
23.
切換branch注意事項 25 ▰Working Directory ▻最好是乾淨無修改 ▰可以搭配stash ▰Detach HEAD
24.
刪除 branch 注意事項 26 ▰不能刪除目前所在的branch ▰如果被刪除的branch尚未合併
預設不給刪 ▻要加上 -D 就可以刪 C0 C1 C2 master HEAD C3 branch1
25.
Merge Branch 27
26.
Merge branch(合併分支) 28 ▰如果不能合併,分支就沒意義了 ▰分支的概念 ▰從 目前分支
合併 到 選取的分支 git checkout master git merge branch1
27.
Fast-Forward Merge 29 ▰找到 master
和 branch1的共同commit ▻C2 ▰C2到branch1(C3)差了一個commit ▰可以快轉合併 C0 C1 C2 master HEAD C3 branch1
28.
Non Fast Forward
Merge 30 ▰找到 master 和 branch1的共同commit ▻C2 ▰總共缺少C3和C4 ▻做一個Non Fast Forward Merge C0 C1 C2 master HEAD C3 branch1 C4 C5
29.
Fast Forward Merge
vs Non Fast Forward Merge 31 ▰FF ▻不會有衝突 ▰N FF ▻很明確看的出來有合併
30.
FF也當成N FF 32 ▰更容易看出有合併過 ▻搭配 ▻增加合併說明 ▰適合使用情境 ▻想要明確表示有整并過 ▻搭配rebase git merge
–-no-ff branch1 git commit --amend
31.
衝突(Merge Conflict)這件事 33 ▰當有非FF Merge的時候就有可能衝突 ▰衝突發生原因 ▻當同一行有完全不同的修改 ▻機器無法判斷要用那個 ▻當非同一行有修改 ▻工具一般能夠自動判斷是相關
– 因此自動幫忙處理
32.
衝突的底層 34 ▰衝突發生的時候有4個檔案 ▻$LOCAL – 發起
merge的branch內容版本 ▻master的內容 (C4) ▻不會修改 ▻$REMOTE – 要被merge的branch內容版本 ▻Branch1的內容 (C3) ▻不會修改 ▻$BASE - $LOCAL 和 $REMOTE為修改之前的樣子 ▻兩邊的原始共通 (C2) ▻不會修改 ▻$MERGED – 最後合併的樣子 ▻修改這個檔案 (C5) C2 master HEAD C3 branch1 C4 C5
33.
設定自己習慣的解決衝突工具 35 ▰推薦Kdiff3
34.
TortoiseMerge vs KDiff3 36
35.
發生衝突 – 在做Non
FF merge會出現 37
36.
解決衝突 – 用剛剛設定的kdiff 38 ▰對conflict檔案點右鍵 ▻Launch
External Merge Tool ▻呼叫剛剛設定的kdiff3
37.
解決衝突 - commit 39 ▰確認好內容 ▰在做一個commit把內容儲存 ▰會自動帶入conflict資訊
38.
解決衝突 – 重來 40 ▰如果解決衝突期間想要重來 ▰可以通過: ▻選擇要重來的檔案 ▻上面的「Action」 ▻Resolve
Conflicts ▻Restart merge
39.
rebase branch 41
40.
請注意 42 ▰Rebase功能很強大 ▻但是要注意 ▻千萬不能對已經送上去的commit做rebase ▰Commit越快越多越好 ▻但是會太雜 ▻透過rebase做一次清理 ▰有些人不建議使用 – 不過用的好幫助很大
41.
Git rebase 43 ▰可以重新把 commit
apply上去 ▻變成1條線 ▰目的 ▻整理commit ▻調整訊息 ▻拆解commit
42.
Git rebase 44 ▰搭配 git
merge --no-ff ▻產生明顯有branch過 C2 master HEAD C3 branch1 C4 ‘C3
43.
git rebase --interactive 45 ▰放上去的時候重新整理
44.
不能動的Branch git tag 46
45.
Git tag –
打標籤 47 ▰記錄某個點 ▰列出目前的tag ▰Tag有兩種 ▻annotated tag ▻可以寫說明 ▻Lightweight tag ▻Sign Tag ▰建議使用annotated tag git tag git tag –a v1.0 git tag v1.0
46.
Git tag –
好的tag標籤 48 ▰Semantic Version ▻Major.Minor.Build ▰要不要加v看個人
47.
Git push --tag 49 ▰Push的時候記得包含tag ▰才會上去
48.
其他特殊指令 Cherry pick 50
49.
從某個節點取內容 - Cherry
pick 51 ▰想從一堆commit抓一個過來 ▰修bug commit C1 C2 C3 branch1 C4 C5 ‘C3 git cherry-pick {c3} master HEAD
50.
從某個節點取內容 - Cherry
pick 52
51.
遠端溝通 53
52.
和遠端溝通 54 ▰遠端的git和本地的git一樣 ▰有一個特殊的branch代表遠端的位置 ▰透過 pull 和
push 來和遠端 sync
53.
git push 55 ▰同merge一樣概念 ▻變成找出 local和遠端版本差異 ▻Push上去
54.
設定遠端 56 ▰免費的遠端 ▻Github ▻Visual Studio Team
Service ▻雲端TFS,5人以內免費 ▻Bitbucket ▰VSTS做範例
55.
在遠端先建立 57 ▰Visual Studio Team
Service
56.
設定remote網址 58 git remote add https://alantsai.visualstudio.com/DefaultCollection/_git/testProject
57.
Git push 59 ▰把本地內容push上去 ▻Track表示本地branch和remote有 ▻對應關係 git push
–u origin master
58.
輸入認證資訊 60 ▰兩步驗證
59.
看到多一個origin/master 61
60.
和遠端溝通的3個指令說明 62 ▰Fetch(獲取) ▻從遠端取得最新 ▻更新 origin/master ▰Pull(拉取) ▻從遠端取得最新,並且和本地track branch做merge ▻
git fetch + git merge ▰Push(推送) ▻把本地和origin/master的差異push上去
61.
從遠端開始 63 ▰git clone {url} ▰同等於 ▻git
init ▻git remote add origin {url} ▻git pull
62.
遠端溝通原則 64 ▰絕對不能夠改已經推送內容 ▻git commit –amend ▻Rebase ▰Git會保護你 ▻不會允許你push ▻但是別加上
--force
63.
和遠端溝通原則 65 ▰記得先和遠端update過 ▻Pull或fetch ▰在push
64.
Branch模式/Workflow 66
65.
Branch模式意義 67 ▰如何多人協同 ▰Centralized ▰Feature (topic) Branch ▰Git
flow ▰Fork Repository Flow
66.
Centralized 68 ▰ 和SVN一樣運作模式 ▰ 總共就一個master分支 ▰
git pull加上 –rebase 保持更新線行 ▻ 或呼叫 git fetch origin git rebase origin
67.
Centralized 69 ▰最好開始上手 ▻和以前svn運作模式一樣 ▻又能夠使用git的優勢 ▰問題 ▻功能無法協同合作 ▰Log ▻看起來是線行
68.
Feature (topic) Branch 70 ▰Master為主線 ▰有功能就建立一個branch做開發 ▰最後做完在merge回master ▻搭配pull
request做review ▰Merge完branch就刪掉
69.
Git flow模式 71 ▰2010 Vincent
Driessen提出 ▰http://nvie.com/posts/a-successful-git-branching-model/ ▰比較複雜 ▻把穩定版本和最新開發版本切開
70.
Git flow模式 72 ▰兩條主線 ▻Master ▻代表目前最stable版本 ▻Develop ▻代表目前最新程式碼(nightly build) ▰其他分支線 ▻feature/* ▻hotfix/* ▻release/*
71.
Git flow 模式
- feature 73 ▰用作於功能開發 ▰一般開在本地 ▰需要協同才push上去 ▰從哪個branch分支 ▻develop ▰合並回 ▻develop
72.
Git flow 模式
- release 74 ▰當develop準備上線 ▰用於更新版號資訊 ▰從哪個branch分支 ▻develop ▰合並回 ▻develop ▻master ▰在master建立tag
73.
Git flow 模式
- hotfix 75 ▰緊急bug ▻ 需要馬上處理 ▰從哪個branch分支 ▻master ▰合並回 ▻develop ▻master ▰在master建立tag
74.
Git flow工具 76 ▰因為複雜,所以有個工具專門做這個事情 ▻https://github.com/nvie/gitflow ▻https://github.com/petervanderdoes/gitflow-avh ▻語法都是:git flow
{branch類型} {動作} 參數 git flow init git flow feature start {name} // 一般開發 git flow feature finish {name} // 需要push或pull git flow feature push {name} git flow feature track {name}
75.
Git flow –
source tree 77
76.
Git flow –
source tree – 結束branch 78
77.
Fork Workflow 79 ▰也可以稱為github flow ▰和Feature
Branch Flow一樣 ▰差異在於 ▻要開發的人從原始先做一個fork ▻開branch開發 ▻做一個pull request回去 ▰https://guides.github.com/introduction/flow/
78.
其他工具 80
79.
Git lfs 81 ▰非文字類型越長越大 ▰Git lfs
把commit記錄為hash pointer ▻實體檔案存在另外一個地方
80.
Git lfs 82 ▰安裝 ▻https://git-lfs.github.com/ ▰執行 –
電腦只要執行一次就好 ▰在專案執行 git lfs install git lfs track “*.psd” git add .gitattributes git commit
81.
Source Tree 83
82.
結語 84
83.
怎麼開始使用git 85 ▰沒有那個比較好,只有那個比較適合 ▰可以先從自己local玩起 ▰如果公司使用SVN,或TFS – 都可以用git溝通 ▻git
svn - 開始使用git - 用git操作svn repo ▻Git tfs
84.
相關資源 86 ▰Git官網 https://git-scm.com/ ▻Pro Git
https://git-scm.com/book/en/v2 ▰Git指令圖解說明 ▻http://marklodato.github.io/visual-git-guide/index-en.html ▻https://onlywei.github.io/explain-git-with-d3 ▰線上git操作 ▻https://try.github.io/levels/1/challenges/1 ▻http://onlywei.github.io/explain-git-with-d3/#branch ▻http://pcottle.github.io/learnGitBranching/
85.
相關資源2 87 ▰連猴子都能夠懂的Git入門指南 ▻http://backlogtool.com/git-guide/tw/ ▰30 天精通 Git
版本控管 ▻裡面有進入到git的細節 ▻https://github.com/alantsai/Learn-Git-in-30-days ▰關注我的部落格 – 特別是git標籤 - http://blog.alantsai.net/search/label/Git
86.
88 Q&A 感謝大家 任何問題都可以在 contact@alantsai.net 部落格-Alan Tsai 的學習筆記 找到我
87.
CREDITS Special thanks to
all the people who made and released these awesome resources for free: ▰ Presentation template by SlidesCarnival ▰ Photographs by Startup Stock Photos 89
Editor's Notes
#12
https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
#13
https://www.git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
#14
https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
#15
https://www.git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
Download