james-版本控制

16
版版版版版版 James Fu http://www.dotblogs.com.tw/JamesFu

Upload: study4tw

Post on 24-May-2015

304 views

Category:

Technology


7 download

DESCRIPTION

study4.tw五月份

TRANSCRIPT

Page 1: James-版本控制

版本控制系統James Fu

http://www.dotblogs.com.tw/JamesFu

Page 2: James-版本控制

檔案被別⼈或⾃己覆蓋,甚⾄刪除想復原前幾天寫的版本想知道跟昨天寫的差在哪裡是誰改了這段程式碼,為什麼新功能做一半,但又有舊的問題要修改 …….

為什麼要使用版本控制 ?

Page 3: James-版本控制

變更管理進度追蹤協同工作 …

版本控制的好處

Page 4: James-版本控制

版本控制不是只有開發⼈員需要版本控制並非協同開發才需要版本控制需要專業的訓練版本控制需要付出高額的成本 ……

版本控制常見的誤解

Page 5: James-版本控制

集中式管理

RepositoryWorkspace

Network

Page 6: James-版本控制

悲觀鎖定◦ CVS、 Visual SourceSafe

樂觀鎖定◦ Subversion◦ Team Foundation Server

分散式管理◦ Git

工作模式

Page 7: James-版本控制

集中式(鎖定)中央版本資料庫

Version 1

Version 2

電腦 A檔案

電腦 B檔案

lock and checkoutcommit

Page 8: James-版本控制

集中式(合併)中央版本資料庫

Version 1

Version 2

電腦 A檔案

電腦 B檔案

checkoutcommit

Page 9: James-版本控制

分散式中央版本資料庫

Version X

Version Y

電腦 A檔案

電腦 B檔案

版本資料庫Version

版本資料庫Version

Page 10: James-版本控制

Check out Check in Update Add Delete

主要功能

Page 11: James-版本控制

Trunk◦程式主要的共享開發版本

Tag◦程式的特別版本 ;◦常用於釋出版本,或需要特別標定時使用

Branch◦程式的分支版本◦常用於釋出版本的功能添加、臭蟲修正,或特別為某目的的開發版。

常用名詞

Page 12: James-版本控制

• Cloud-powered source code management

• Team collaboration and agile planning

• Build, Test, Deploy!

Page 13: James-版本控制

Team Foundation Server / Service

Project 2

IssuesProject Mgmt

Project 1

Git

3rd Party

XCode

Eclipse

Shell

3rd Party Eclipse

Shell

… TFVC

Local Repo

Git SCC ProviderTFS SCC Provider

Team Explorer

TFVC Object Model LibGit2 / LibGit2Sharp

Other Remote Git Repo

Git-TF

IssuesProject Mgmt

Page 14: James-版本控制
Page 15: James-版本控制
Page 16: James-版本控制

五餅二魚工作室