Team Foundation Server - 程序员指南

Fil*_*erg 15 version-control tfs

除了我以前的话题

如何使用SVN,分支?标签?树干?

我想深入了解程序员应该/可以如何使用TFS.

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

所以这些是我的兴趣点,我希望获得更多的知识:

  • 您将如何构建TFS工作区/项目以支持许多不同的客户/项目以及每个客户可能的不同项目?
  • 将上述项目中的文件夹结构拆分为不同的部分,如代码,文档 - >架构,需求等,还有什么可以和常用的文件夹结构?
  • 易于浏览的存储库; 同样,这里的文件夹结构很重要,但是这一点更多地针对存储库的不同探索者,而不仅仅是内置的Team Foundation Explorer.

这些只是我想要了解的几点.有关上述主题的初学者指南,深入指南和链接的建议将非常有用.请随意添加其他重要注意事项.

Jam*_*ing 13

如前所述,模式和实践指南是整个使用TFS的一个很好的指南.

http://www.codeplex.com/TFSGuide

但是,如果您想要专注于分支策略,您可能还需要查看VSTS Rangers组合在一起的分支指南(尤其是第二个版本).

如果您最终遇到上述未涵盖的特定问题,请记住您也可以访问TFS版本控制论坛寻求帮助.

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


dcp*_*dcp 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
Run Code Online (Sandbox Code Playgroud)

基本上,我们在发布时将Main\Source项目分支到Releases\Releasex分支.

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

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

我认为最重要的是提出一个计划,你的团队(大多数)同意,理解,并愿意遵循.确保方案记录良好并遵循方案.结构的一致性是成功的源控制系统的关键之一.

  • @dcp在简单的场景中可能会这样,但是如果你有两个团队在使用相同的代码来实现两个独立的新功能,那么你需要一个或多个开发分支. (2认同)