忽略待处理更改中的某个文件

时间:2010-10-07 14:40:06

标签: .net visual-studio-2010 tfs

这是我的问题。我有一些来自解决方案的文件(假设是Web.config),我已经更改了,并且永远不想办理登机手续,因为更改仅指我的机器。有没有办法在TFS中说明忽略某个文件中的更改并将其从挂起的更改窗口中删除。当然,我可以在每次办理登机手续时跳过这个文件,但总是会有一个错误遗忘和登记的变化。例如,AnkhSVN中有一个类似的忽略列表。

7 个答案:

答案 0 :(得分:11)

{app,web}.config个文件的某些部分可以委派给另一个文件。值得注意的是<connectionStrings>

app.configweb.config

<connectionStrings configSource="LocalConnectionStrings.config" />
LocalConnectionStrings.config中的

<connectionStrings>是根元素):

<connectionStrings>
    <!-- For the application's operations. -->
    <add name="Application"
         connectionString="Data Source=server;Initial Catalog=database;Integrated Security=True;Network Library=dbmssocn"
         providerName="System.Data.SqlClient" />
</connectionStrings>

因此,当LocalConnectionStrings.config具有共享设置时,每个开发人员都有一个{web,app}.config,但在源控件集中没有私有设置。不幸的是,这仅适用于一组有限的系统定义配置元素。

答案 1 :(得分:6)

一种解决方法是删除Windows资源管理器中web.config上的readonly属性,然后在记事本中编辑它:

  • 它不会出现在待处理中 改变
  • 它仍然在源头 控制

丑陋而简单的解决方案。

答案 2 :(得分:4)

有关配置文件,TFS和不同开发者机器的最佳做法是(下摆)......

您的所有开发人员都应具有相同的开发环境。这是在TFS中管理web.config文件的唯一方法,它有很多额外的好处:

  • Nomore“但它可以在我的电脑上运行”

  • 它的朋友可怕的“我不明白需要什么依赖。它不再编译了。”

  • 你不会后悔着名的“啊!我忘了告诉你,我发明了一个MyWonderfullApplicationConfigSection,你应该在你的web.config中定义它,但我不会告诉你怎么做。”

  • 这将有助于设置构建环境或部署。

好吧,这不是很容易,我知道不同的开发人员喜欢不同的设置......但是标准化开发平台是个好主意。这真的很值得。

答案 3 :(得分:2)

对于我们在VS 2005/2008中的工作,我们打开了多个结帐,我们只是从不检查web.config。

为了尝试做一些没有办法检查的时髦事情的麻烦,我们只是从来没有检查过。在奇怪的情况下,其中一个文件被签入,这是一个快速的“嘿家伙我搞砸了”

另一方面,您可以告诉TFS从源代码管理中排除文件。这将需要存在于所有计算机上,因为解决方案/项目仍将查找该文件。

http://arcware.net/2007/04/12/how-to-exclude-files-from-tfs-source-control/

您还可以修改.SLN /项目文件。 我已经用测试项目完成了这个方法,我不想修复其他人的测试只是为了自己运行,所以我从TFS中删除了我的测试项目,同时保持其他人完好无损。

答案 4 :(得分:2)

您可以复制您不想签入的文件,撤消签出,并将其替换为副本。由于更改是从外部VS进行的,因此不会检出,因此它不会出现在Pending Changes列表中。

(我知道这是一个老问题,但我确信有人在寻找一种方法可以使用这个答案)

答案 5 :(得分:1)

没有什么可以忽略的,但最好的办法是,在签入之后,您可以使用基于Web的登录或未映射源代码树的其他机器,并且可以从源代码树中删除不需要的文件并且visual studio在下次修改时不会签入这些文件。

您还可以将文件放在文件夹中并在xml编辑器中修改项目文件以将您的文件包含在项目中,Visual Studio不会将文件添加到通过编辑项目文件的xml手动添加的源代码控制。

答案 6 :(得分:1)

您使用的是哪个版本的工作室?

如果您在2010年,则可以使用Web配置转换。这样,您可以根据环境使用不同的web.config文件。例如,开发,测试,生产..

如果您在2008年,我们通常会有一个指向我们开发内容的主web.config文件和一个指向生产的web.production.config文件。在部署期间,我们删除web.config并重命名web.production.config。