何时创建TFS工作区?

11

我一直有一个困扰,感觉可能在忽略TFS Workspaces的一些有用特性。这个网站为我们提供了一些背景信息:http://www.woodwardweb.com/teamprise/000333.html

然而,有了这些信息,我并不真正了解何时应该创建一个新的工作区。我是为每个“项目”创建一个还是为每个项目分支创建一个?我需要在每台我想要工作的机器上创建镜像工作区吗?我不确定在做出这个决定时需要考虑什么。

是否有最佳实践描述在什么情况下使用不同的工作区?

注意:尽管了解他人的做法可能很有趣,但我更希望了解如何自己做出决定。我并不是在问“何时创建新的工作区?”而是在问“我如何决定何时创建新的工作区?”。


目前我手头没有 TFS 2010 系统,但是在 2008 版本下,我曾经因为某些更改会自动被选中而感到烦恼,无论提交检查的范围是什么。解决方案是分离工作区 - Damien_The_Unbeliever
2个回答

13

每台机器每个“团队项目集合”(TPC)定义一个工作区,因此您需要为每个使用的TPC在每台机器上至少创建一个工作区

在您的机器上拥有整个TPC的快照可能是浪费的(您可能不需要访问其他团队或开发人员维护的项目或解决方案,因此您可能希望每个团队项目或甚至每个解决方案创建一个工作区)。

如果您同时处理多个任务,则可能希望为每个任务创建一个工作区。这被认为是最佳实践,并允许您将所做的更改分开并逐个检查(例如,为开发任务建立一个工作区,如构建新UI,并为QA最近发现的修复漏洞创建另一个工作区)。

如果您的任务垂直跨越多个解决方案(例如,添加新功能时需要添加UI、业务逻辑、SOA服务并更新远程数据库中的模式),则每个任务创建一个工作区尤其有效;任务很少(如果有的话)跨越团队项目,并且永远不应该跨越TPC。


1
如果一个团队项目通常是针对单个客户或平台的解决方案或解决方案集合,那么为每个团队项目创建一个工作区至少会减少您的团队资源管理器/签入视图中的杂乱无章。否则,TFS 将渴望执行令人困惑的操作,例如显示与当前打开的项目和解决方案无关的项目和解决方案之间的差异。 - Paul Smith

4

简短回答:需要的时候 :-)

如果您需要在多台机器上编辑代码,则必须在每台机器上创建一个工作区。

有些人喜欢为每个团队项目创建一个工作区,有些人则喜欢为每个分支甚至解决方案创建一个工作区。

您是否正在为相同的代码库工作,但是出于不同的原因?分支通常用于解决此问题,但有时这不是一个选择。

您的存储库中的文件夹/文件名称是否导致您在路径中达到Windows 260字符限制?如果是,那么是时候创建新的工作区了。

我倾向于在每台机器上映射$ /到C:\ tfs的1个工作区,但这是我的偏好。我只有在需要限制范围内的文件数时才创建新的工作区。

例如,回滚更改集。如果使用tf rollback命令(或2008中的tfpt rollback),则tfs会坚持对整个工作区进行最新获取。如果您将工作区映射到大型团队项目的根目录,则可能需要很长时间。设置仅包括包含更改集中文件的文件夹的工作区可以节省大量时间。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接