VSTS中版本控制系统Git与TFVC的区别

VSTS(Visual Studio Team Services)

VSTS简单说就是微软TFS(Team Foundation Services)的升级云版,不用像TFS需要在企业内部服务器上部署,并且是免费提供给用户使用的。

每个有微软账号(也是免费注册的)的用户都可以申请VSTS,官网申请入口。当然,免费用户是有一定限制的,比如:每个项目的成员不能超过5个等。不过一般中小型开发项目,5个人也够用了。

VSTS有一点比GitHub好,免费用户也可以拥有private空间;GitHub上免费的都是公开的,所有人都能访问获取的。所以,既想要免费软件项目托管平台,又想要私有项目不公开,VSTS真是一个不错的选择。

VSTS功能比较多,作为微软云优先新时代的产品,应该会一直持续开发改进的。

VSTS支持两种版本控制系统:Git 和 TFVC(Team Foundation Version Control)

在VSTS中新建一个项目时,会遇到版本控制选择:

Git是默认的版本控制系统,并且是官网推荐使用的,除非是有特殊需求(比如一定要用TFVC的集中式管控)。

Git(分布式)

Git是分布式版本控制系统。分布式相比于集中式的最大区别在于每个开发者在本地都有一份源码仓库的备份,开发者可以提交修改集到本地仓库,并且在断网的情况下也能执行历史回溯和比较的功能。Git的分支非常轻便,你可以在本地创建一个私有分支,并且也可以在本地合并分支。不存在中央服务器。不同开发者之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。一般情况下,需要有主开发者来决定合并谁的提交(可以自己解决,也可以要求开发者之间解决以后再重新提交)。分布式的好处是灵活自由,大部分时间可以离线工作。

TFVC(集中式)

Team Foundation Version Control是集中式版本控制系统。典型的集中式版本控制系统,对于项目成员来说,每一个源码文件的当前版本(服务器最终Check in)有且只有一份(无论是下面哪种工作流模式)。历史数据仅保存于服务器上,分支创建也只能在服务器上操作。所以,比较、回滚等操作都需要连接服务器。

TFVC有两种工作流模式:

  • 服务器工作区- 在修改源码文件之前,必须公开的Check Out源码文件,以使系统锁定文件(防止再被其他人Check Out)。这种模式下,大部分操作都是需要连接服务器的。使用服务器工作区的好处是,你可以扩展codebases到很大的程度(每个分支百万个文件,以及大的二进制文件)。Visual Source Safe, Perforce, 以及 CVS也是这种工作流模式。
  • 本地工作区- 每个项目成员在本地有一份codebase拷贝(只含最新代码库,不包含历史数据),并且可以在离线模式工作。开发者Check in修改集时,如有冲突,协商解决(比如存在于不同开发者电脑上的同一个文件,提交修改时会冲突,具体采用哪个要靠开发者之间协商)。Subversion也是这种工作流模式。

转载请注明出处:https://www.cnblogs.com/lichu-lc/p/9501451.html

原文地址:https://www.cnblogs.com/lichu-lc/p/9501451.html

时间: 2024-10-29 05:49:05

VSTS中版本控制系统Git与TFVC的区别的相关文章

[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境【转】

转自:http://www.cnblogs.com/yubinfeng/p/5182271.html 前面介绍了两款代码管理工具VSS和SVN,这两种管理工具在很长一段时间曾为我们的代码管理提供了便利,本篇介绍一款思维方式完全不同(也可以说不合常理)的版本控制系统——Git.可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)

[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 http://www.cnblogs.com/yubinfeng/p/5182271.html 本篇导读: 上篇介绍了一款Windows环境下的Git服务器工具GitStack ,搭建了最简单的Windows下的Git服务器,需要再次提醒的是

版本控制系统git

6月30日学习笔记: 版本控制系统git: 1.应用:记录文件的所有历史变化随时可恢复到任何一个历史状态多人协作开发或修该错误恢复多功能并行开发 2.分类:本地版本控制系统集中化版本控制系统分布式版本控制系统 3.基本概念:repository -- 存放所有文件及其历史信息checkout -- 取出或切换到指定版本的文件version -- 记录标识一个版本(编号或其他代码)tag -- 记录标识一个主要版本(1.0 2.0 3.0) 本地版本控制系统(LVCS)如:RCS(在很多Linux

一个很流行的版本控制系统Git学习笔记

什么是Git Git是一种非常流行的分布式版本控制系统,它和其他版本控制系统的主要差别在于Git只关心文件数据的整体是否发生变化,而大多数版本其他系统只关心文件内容的具体差异,这类系统(CVS,Subversion,Perforce,Bazaar 等等) 每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容 Git另一个比较好的地方在于绝大多数操作都可以在本地执行,而每个本地都可以从服务器获取一份完整的仓库代码 而且在没网时仍然可以修改和使用大部分命令,在方便时再跟服务器进行同步,这样可以更

分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

本篇导读: 可以说Git目前非常火,这与设计者剑指偏锋的设计思想有很大关系.Git采用发散的思维管理代码,最大的特点就是分布式,他可以让来自不同地区的开发者共同完成一个作品,让每个开发者都可以发挥个性,同时又可以由发起者(即项目管理者)统一发布新版本.各个地区的开发者,还可以离线开发,这样版本管理系统之所以火,也和当今社会万众创新的氛围分不开.通过Git你可以尽情的发挥想象力,开源的春天已经到来,让我们启航吧!  1. Git简介 名称:Git (Git的读音为/g?t/,开源.免费.分布式的版

分布式版本控制系统GIT的使用

一.什么是Git Git是一个分布式版本控制系统,Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体差异(如CVS.Subversion等).而Git并不保存这些前后变化的差异数据.Git更像是把变化的文件作快照后记录在一个微型的文件系统中.每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引.若文件没有变化,Git不会再次保存,而只对上传保存的快照做一次连接,即若文件未变化则指向上

分布式版本控制系统---Git&GitHub

 GIT的起源 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. Torvalds 开始着手开发 Git 是为了作为一种过渡方案来替代 BitKeeper,后者之前一直是 Linux 内核开发人员在全球使用的主要源代码工具.开放源码社区中的有些人觉得 BitKeeper 的许可证并不适合开放源码社区的工作,因此 Torvalds 决定着手研究许可

分布式版本控制系统 Git 教程

目录   简介  原理  安装  配置  命令  小结  资料 简介 Git 是什么? Git 是一个开源的分布式版本控制系统. 什么是版本控制? 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统. 什么是分布式版本控制系统? 介绍分布式版本控制系统前,有必要先了解一下传统的集中式版本控制系统. 集中化的版本控制系统,诸如 CVS,Subversion 等,都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文

版本控制系统-----Git学习笔记

版本控制系统 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统.大部分时候我们使用最频繁的还是对源代码文件的版本控制,其实任何文件都可以纳入版本控制系统. git属于分布式版本控制系统: 客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来. git远程仓库部署 环境: centos7u3git1 192.168.122.66 git服务器git2 192.168.122.129 git客户端 git1: 安装git: #yum -y install gi