我是一个小团队的一员,在 VS2013 中使用 TFS2010 开发一个 Web 项目,用于源代码控制。
当我们在家工作时,就像我们不时做的那样,我们需要有一个稍微不同版本的 web.config 文件。以前,当我们使用 VSS 时,我们可以只使文件读/写,这使我们能够保留一个未检入源代码控制的本地副本。TFS 太聪明了,不能让我们这样做,不可避免的结果是偶尔有人不小心将错误的版本重新检入。
谁能建议我们处理这个问题的好方法?
我是一个小团队的一员,在 VS2013 中使用 TFS2010 开发一个 Web 项目,用于源代码控制。
当我们在家工作时,就像我们不时做的那样,我们需要有一个稍微不同版本的 web.config 文件。以前,当我们使用 VSS 时,我们可以只使文件读/写,这使我们能够保留一个未检入源代码控制的本地副本。TFS 太聪明了,不能让我们这样做,不可避免的结果是偶尔有人不小心将错误的版本重新检入。
谁能建议我们处理这个问题的好方法?
这里有一个可能对您有用的答案,使用.tfignore
文件。
但是,您可能不想完全排除 web.config,因为在团队之间共享 appsettings 部分可能很有用,而且您可能更愿意只排除连接字符串部分。如果是这样,您可以只为您的连接字符串使用外部配置文件,然后使用该.tfignore
技术排除它。
这意味着您的 web.config 将包含如下内容:
<?xml version='1.0' encoding='utf-8'?>
<configuration>
<connectionStrings configSource="connections.config"/>
</configuration>
并且您的(排除的)connections.config 文件如下所示:
<connectionStrings>
<add name="Name" providerName="System.Data.ProviderName" connectionString="xxx" />
</connectionStrings>
编辑:我刚刚注意到您提到了 TFS2010,因此该.tfignore
方法不是一种选择(除非您升级到 TFS2012 或更高版本)。这里有一个支持 TFS2010 的答案,使用 Forbidden Patterns Policy - 假设您可以安装 TFS Power Tools,它应该对您有用。