2009-12-22 50 views
13

除了我以前的话题上团队基础服务器 - 程序员指南

How to use SVN, Branch? Tag? Trunk?

我想深入到获取有关如何程序员应该/可以使用TFS。

对我来说最感兴趣的事情不是如何设置服务器,而是每天如何使用它。在软件工程领域,您的责任不仅仅在于代码,还包括架构,文档和其他领域。你需要收集你的作品,最好在同一个地方。

因此,这些都是我的兴趣点,我想获得更多的知识:

  • 你将如何构建一个TFS工作区/项目,以支持许多不同的客户/项目,并根据客户也许不同的项目?
  • 将上述项目的文件夹结构拆分成不同的部分,例如代码,文档 - >体系结构,需求和其他部分,还有什么可以存在以及哪些是常用的文件夹结构?
  • 一个易于浏览的存储库;这里的文件夹结构同样重要,但是这一点更多地针对存储库的不同探索者,而不仅仅是内置于Team Foundation Explorer中。

这些只是我想了解更多的一些观点。对初学者指南,覆盖上述主题的深入指南和链接的建议将非常有帮助。请随时为此添加其他重要考虑因素。

+0

我很愿意回答你的第一个项目符号的问题,使用工作区来管理每个客户的多个项目。 – 2011-03-05 20:08:25

回答

12

如前所述,模式和实践指南是整个使用TFS的重要指南。

http://www.codeplex.com/TFSGuide

但是,如果你碰巧要专注于分支策略,您可能还需要检查出分岔引导(特别是第二个版本),该VSTS流浪者放在一起。

如果你最终进入未覆盖的上述具体问题时,请记住,你可以打的TFS版本控制论坛也有帮助。

http://social.msdn.microsoft.com/Forums/en/tfsversioncontrol/threads

3

这就是我认为你的要点:

所有的
  • 首先是团队项目的水平。这里最好遵循微软的建议:实体团队有单独的团队项目。对于客户特定的更改,我会从主干中创建额外的分支。这使您可以将所有错误修复和独立于客户的更改合并到客户分支中,而无需太多麻烦。
  • 请勿将文档放在源代码管理中,将它们放入可在团队资源管理器中找到的文档文件夹中。对于我所说的所有文档,请查看Sharepoint。
  • 尝试将您的文件夹结构映射到您的名称空间层次结构中。这使事情变得非常容易浏览。

记住设置TFS确实取决于团队的规模,团队的数量和代码库的大小。

+0

你能否提供一些其他海报的例子吗?很容易看出其他人如何以这种方式解决他们的工作。感谢您的意见。 – 2009-12-22 11:31:05

8

你有没有提到这一指南: http://www.codeplex.com/TFSGuide

我刚刚经历写TFS指导为我们公司得到了,我们跟着大多数从引导最佳实践建议。

我们所采用的结构是这样的:

TeamProject1 
    Main 
     Source 
      ClassLibrary1 
      ClassLibrary2 
      CommonCodeLibrary 
      TeamProject1Web 
    Releases 
     Release1 
      Source 
       ClassLibrary1 
       ClassLibrary2 
       CommonCodeLibrary 
       TeamProject1Web 
     Release2 
      Source 
       ClassLibrary1 
       ClassLibrary2 
       CommonCodeLibrary 
       TeamProject1Web 
TeamProject2 
    Main 
     Source 
      ClassLibrary1 
      CommonCodeLibrary 
      TeamProject2Web 
    Releases 
     Release1 
      Source 
       ClassLibrary1 
       CommonCodeLibrary 
       TeamProject2Web 
     Release2 
      Source 
       ClassLibrary1 
       CommonCodeLibrary 
       TeamProject2Web 
SharedTeamProject //this would represent a set of code that's used in other team projects 
    Main 
     Source 
      CommonCodeLibrary 
    Releases 
     Release1 
      Source 
       CommonCodeLibrary 
     Release2 
      Source 
       CommonCodeLibrary 

基本上,我们分支主\源项目的发布\ Releasex分支时,它的时间做一个发布。

对于跨多个项目共享的代码,我们为该代码创建一个单独的团队项目,然后将其分解到各个团队项目中。在下面的例子中,SharedTeamProject代表共享代码。例如,我们将CommonCodeLibrary分支到单个团队项目的Main \ Source文件夹中。

对于客户特定的版本,您可以为它们创建适当的版本分支。

我认为最主要的是想出一个计划,您的团队同意(主要),理解并愿意遵循。确保该方案记录良好,并遵循它。结构一致性是成功源控制系统的关键之一。

+0

我认为你错过了一个开发分支。 – 2009-12-22 10:02:44

+0

你在哪里存储除Code之外的其他数据?你在上面的结构中没有。 – 2009-12-22 11:31:54

+0

@Gerrie - 我不同意。你有没有看过我链接到的模式和实践指南?请参阅第5章,您会发现这是Microsoft认可的模式之一(请参阅方案2)。 @Fillip - 您可以根据需要创建其他文件夹,但TFS与SVN相反的想法是项目级文档存储在共享点门户中。当您创建团队项目时,会为此创建一个共享点门户网站。这是让很多从SVN到TFS的人感到困惑的事情之一,这个范例有点不同。 – dcp 2009-12-22 11:50:50