背景和讨论
最新开发项目,用到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是收费的。
转载请注明:在路上 » 【整理】TFS vs SVN