设为首页 收藏本站
查看: 1244|回复: 0

[经验分享] 使用VS2013、TFS2013和Git进行分布式团队协作

[复制链接]

尚未签到

发表于 2018-1-14 18:13:33 | 显示全部楼层 |阅读模式
  题记:呵呵,首先声明,题目起的有点大,其实我只想介绍下VS2013和TFS2013新加入的Git功能,也不是在VS中使用Git的详细向导(以后有空再详细分享给大家)。这篇文章虽然在写这篇文章《Visual Studio 2013 发布正式版及使用感受》的时候,心中就有此打算,后来有朋友回复说让我介绍一下Git的使用,更是让我觉得很有必要介绍一下这方面的内容。可惜拖了这么久才开动。
Git是什么
  Git是一种近来很流行的版本控制系统(或称源代码管理系统),和传统的SVN、TFVC(TFS Version Control)这样的系统而言,最大的特点就是分布式。所谓分布式是相对于SVN这种集中式而言的,SVN或者TFVC都需要有一个中心服务器保存着源代码,所有开发者都使用客户端和这个服务器交互。
  Git是Linux内核之父为了管理繁杂的Linux内核而开发的开源系统,随着GitHub这样的开源代码托管系统大热,而为很多人知晓使用。
  Git的强大潜力并非真正在于分布式,而是在于其对源代码存储的机制(使用快照),由于这样的机制存在,你可以大量频繁的使用分支来工作,通过分支来隔离功能开发的过程。如果要在TFVC中频繁建立分支是不可想象的。比如我的一个以前的解决方案文件夹大约600M,如果频繁使用分支,那么一方面我的磁盘会出现大量重复的文件占用大量的磁盘空间,另外一方面在VS的历史打开记录中会有很多名称一样的解决方案,你还需要去辨别其所在路径从而确定是否打开了正确的分支代码。
  由于本篇文章不是专门介绍Git的,所以我不会进一步对Git进行过多介绍。要入门Git,可以查看《git - 简易指南》这样的手册,如果需要深入了解Git,建议精读《Git - Book》这本书。尤其对于打算把Git引入到团队的技术负责人更是要深入了解Git,以便做出正确的技术选择。另外,在开发过程中应用GitFlow也是一种很好的实践。
  而我为什么使用Git,可以在《Visual Studio 2013 发布正式版及使用感受》中找到答案。
Git客户端:VS2013
  由于VS针对源代码控制本身就提供了扩展接口,所以很早的时候,就有VS中使用Git的集成插件,比如:Git Source Control Provider。
  后来微软提供了官方的Git集成插件:Visual Studio Tools for Git。提供这个插件最初的原因(我猜想)是,由于Git大行其道,导致CodePlex等也不得不支持Git,从而为了更好的支持Git在VS中的使用,微软就着手开发了这个插件。
  这个微软官方的插件仅支持VS2012 Update 3的安装,其已经内置于VS2013的所有版本中(包括免费版)。这个工具内置了对于Git基础命令的操作功能,如果需要更高级的功能,可以安装第三方Git命令行工具(Git Bash)。同时,我也建议大家一并安装TortoiseGit这个工具,很多时候使用这个工具更顺手。
  关于在VS2013中使用Git的详细文档,可见:http://msdn.microsoft.com/library/vstudio/hh850437。
  VS2013中的Git功能可以连接任意Git服务器实现的。
Git服务器:TFS2013
  在解决了Git客户端和开发工具集成的问题后,就需要解决服务器的问题。既然微软在CodePlex中都提供了Git支持,那么为何不在TFS中也提供呢,于是就有TFS2013对于Git的支持。Git理论上可以不需要一个服务器的,不过为了团队更好的协同,还是有必要架设一个中心Git仓库服务器,供大家pull和push用。而Git服务器有如下几种选择:

  • GitHub、CodePlex或者CSDN CODE等开源项目托管服务器。GitHub也可以付费来托管闭源项目。
  • 可以自己架设。可以使用Git默认的实现,也可以使用一个用ASP.NET MVC 4实现的http://bonobogitserver.com/来架设。
  • 使用TFS服务,tfs.visualstudio.com。TFService在TFS2013发布之前(通过使用TFService就可以使用到TFS最新的特性,包括尚未正式发布的),就已经在提供Git的功能。创建团队项目的时候就可以选择使用TFVC还是Git,选定后无法更改。
  • 架设内部的TFS2013服务器。在TFS2013中直接内置了Git服务器的实现,无需额外安装任何Git Server,理所当然Git的内容会保存在SQL Server数据库中。TFS2013的Git实现可以被任意客户端所连接。同样也是创建团队项目的时候可以选择使用那种源代码管理方式,选定后无法更改。
Git和分布式团队协作
  在TFS2013针对分布式团队的特点新增或加强了很多功能,最为显著的两个功能就是Git和Team Room。
  Git由于具备分布式的特点,可以让地域不在一起的团队,更快的提交代码;每个地域的办公室也可以维护一个自己的共享库,让本地办公室的同事不同代码;各个办公室的代码也可以通过公司统一的Git服务器来同步。
  当然这种分布式的源代码协作方式由于会在每个开发人员的机器上保存几乎完整的源代码库,虽然可以通过TFS等进行权限控制,但有些企业还是跟倾向于中心式的源代码管理系统如TFVC,这样对于代码可以更好的进行控制。
  如果对于一个小型创业团队。通过使用Git+TFService的话,那么就可以在很自由和免费的环境下工作。比如,小型的创业团队可能都没有办公室,那么只需要去免费申请一个TFService(5个内免费使用),用Git创建工程,用VS2013 Express开发项目,那么大家的代码、工作进度都可以很好的管理起来。
  最后源代码可以Git分布式了,开发进度也可以用TFS的WorkItem来分布式协作了,甚至团队交流都可以通过Team Room来分布式进行了。
  这里有一些相关文章,可以进行扩展阅读:
  http://blogs.msdn.com/b/bharry/archive/2013/01/30/git-init-vs.aspx
  http://blogs.msdn.com/b/visualstudioalm/archive/2013/01/30/getting-started-with-git-in-visual-studio-and-team-foundation-service.aspx
  另外,我在TechEd2013的北京、上海站,都会主持敏捷协同开发相关的HOL(动手实验室)。欢迎大家参加:http://technet.microsoft.com/zh-cn/teched2013_hols

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-435070-1-1.html 上篇帖子: 妈妈再也不用担心我使用git了 下篇帖子: 在VS2010中使用Git【图文】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表