【整理】TFS vs SVN

背景和讨论

最新开发项目,用到TFS管理项目的源代码。

然后遇到一些事情,比如:

TFS中,去提交本地的改动。

结果后来才发现:

漏了一个新添加的文件。

只能再去:

使用Eclipse中的TFS插件中的Team->Detect Local Changes

找到新添加的文件,然后再去:

添加Pending Changes

才能加入这个新增的文件到项目中

然后再去commit提交

才能上传到服务器上去。

然后别人再去Get Latest Version

拿到我刚更新的文件。

 

此时:

对于简单的,项目代码管理来说,感觉是:

SVN好用多了。

其自动监测文件系统,所以对于文件的变化,都可以检测到

包括文件的改动和新增,被删除,等等。

然后提交commit的时候,可以检测到。

所以,相对来说,在这方面,感觉SVN好用多了。

以为TFS很挫,很不方便使用呢。

 

后来得知:

TFS本身,除了源代码的版本管理,还有其他的功能,

比如需求管理,bug管理,部署管理,等等。

其涉及了项目开发的整个生命周期。

而相对来说,SVN只是个单纯的代码版本管理工具。

另外,关键是:

TFS的出现,是大型项目中,N多人,比如上千人,一起协作开发一个大项目。

此时:

为了避免代码的提交和改动的冲突

所以需要:

添加很多协助方面的,避免冲突方面的考虑:

对于代码的管理,弄成在线式的;

每个人,在要修改代码之前,先get获得,以及其自己可以设置是否lock锁定该文件,防止自己修改时,别人也去修改;

然后修改后,再去put提交;

所以:

才把本来相对简单的代码版本管理,弄成如此复杂的过程

目的是:

为了避免多人协助时,出现冲突。

所以,算是为了项目的稳定而牺牲了一定的个人使用上的效率

对于大项目来说,是足够划算和安全的。

否则人多,写代码,改代码,迁入代码,就乱作一团,无法管理了。

 

【结论】TFS vs SVN

所以,目前的结论是:

1.对于:

  • 小项目
  • 只涉及到单纯的代码管理

的话,推荐用svn。

注:svn还是开源和免费的。

2.对于

  • 大项目
    • 可能涉及多人协助开发
  • 涉及到整个项目的完整的开发周期
    • 需求,代码,实现,部署,维护(bug管理)等等

还是推荐用TFS。

注:TFS是收费的。



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量