【转】VSTS中版本控制系统Git与TFVC的区别
?
VSTS(Visual Studio Team Services)
VSTS簡單說就是微軟TFS(Team Foundation Services)的升級云版,不用像TFS需要在企業(yè)內(nèi)部服務(wù)器上部署,并且是免費(fèi)提供給用戶使用的。
每個有微軟賬號(也是免費(fèi)注冊的)的用戶都可以申請VSTS,官網(wǎng)申請入口。當(dāng)然,免費(fèi)用戶是有一定限制的,比如:每個項(xiàng)目的成員不能超過5個等。不過一般中小型開發(fā)項(xiàng)目,5個人也夠用了。
VSTS有一點(diǎn)比GitHub好,免費(fèi)用戶也可以擁有private空間;GitHub上免費(fèi)的都是公開的,所有人都能訪問獲取的。所以,既想要免費(fèi)軟件項(xiàng)目托管平臺,又想要私有項(xiàng)目不公開,VSTS真是一個不錯的選擇。
VSTS功能比較多,作為微軟云優(yōu)先新時代的產(chǎn)品,應(yīng)該會一直持續(xù)開發(fā)改進(jìn)的。
?
VSTS支持兩種版本控制系統(tǒng):Git 和 TFVC(Team Foundation Version Control)
在VSTS中新建一個項(xiàng)目時,會遇到版本控制選擇:
Git是默認(rèn)的版本控制系統(tǒng),并且是官網(wǎng)推薦使用的,除非是有特殊需求(比如一定要用TFVC的集中式管控)。
Git(分布式)
Git是分布式版本控制系統(tǒng)。分布式相比于集中式的最大區(qū)別在于每個開發(fā)者在本地都有一份源碼倉庫的備份,開發(fā)者可以提交修改集到本地倉庫,并且在斷網(wǎng)的情況下也能執(zhí)行歷史回溯和比較的功能。Git的分支非常輕便,你可以在本地創(chuàng)建一個私有分支,并且也可以在本地合并分支。不存在中央服務(wù)器。不同開發(fā)者之間只需把各自的修改推送給對方,就可以互相看到對方的修改了。一般情況下,需要有主開發(fā)者來決定合并誰的提交(可以自己解決,也可以要求開發(fā)者之間解決以后再重新提交)。分布式的好處是靈活自由,大部分時間可以離線工作。
TFVC(集中式)
Team Foundation Version Control是集中式版本控制系統(tǒng)。典型的集中式版本控制系統(tǒng),對于項(xiàng)目成員來說,每一個源碼文件的當(dāng)前版本(服務(wù)器最終Check in)有且只有一份(無論是下面哪種工作流模式)。歷史數(shù)據(jù)僅保存于服務(wù)器上,分支創(chuàng)建也只能在服務(wù)器上操作。所以,比較、回滾等操作都需要連接服務(wù)器。
TFVC有兩種工作流模式:
- 服務(wù)器工作區(qū)-?在修改源碼文件之前,必須公開的Check Out源碼文件,以使系統(tǒng)鎖定文件(防止再被其他人Check Out)。這種模式下,大部分操作都是需要連接服務(wù)器的。使用服務(wù)器工作區(qū)的好處是,你可以擴(kuò)展codebases到很大的程度(每個分支百萬個文件,以及大的二進(jìn)制文件)。Visual Source Safe,?Perforce, 以及?CVS也是這種工作流模式。
- 本地工作區(qū)-?每個項(xiàng)目成員在本地有一份codebase拷貝(只含最新代碼庫,不包含歷史數(shù)據(jù)),并且可以在離線模式工作。開發(fā)者Check in修改集時,如有沖突,協(xié)商解決(比如存在于不同開發(fā)者電腦上的同一個文件,提交修改時會沖突,具體采用哪個要靠開發(fā)者之間協(xié)商)。Subversion也是這種工作流模式。
?
Git與TFVC的比較
| ? |
?
總結(jié)
以上是生活随笔為你收集整理的【转】VSTS中版本控制系统Git与TFVC的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全球公共债务创历史,美国贡献30万亿美元
- 下一篇: 丰田首款纯电动车bZ4X上市发布会紧急取