代码之家  ›  专栏  ›  技术社区  ›  anthares

从挂起的更改中忽略某些文件

  •  8
  • anthares  · 技术社区  · 14 年前

    这是我的问题。我有一个解决方案中的特定文件(比如web.config),我已经更改了,并且永远不想签入,因为这些更改只指向我的计算机。在tfs中有没有一种方法可以说忽略某个文件中的更改并将其从挂起的更改窗口中删除。当然,我可以在每次签入时跳过这个文件,但是总是有一个要忘记的更改,并且错误地签入。例如,在ankhsvn中有一个类似的忽略列表。

    7 回复  |  直到 9 年前
        1
  •  11
  •   Richard    14 年前

    一些部分 {app,web}.config 可以将文件委托给其他文件。尤其是 <connectionStrings> .

    在你 app.config web.config :

    <connectionStrings configSource="LocalConnectionStrings.config" />
    

    在里面 LocalConnectionStrings.config 有( <连接字符串> 是根元素):

    <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 具有共享设置。不幸的是,这只适用于一组有限的系统定义的配置元素。

        2
  •  6
  •   Olivier Payen Sackurise    14 年前

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

    • 它不会出现在挂起的 变化
    • 它还在源头上 控制

    丑陋但简单的解决方案。

        3
  •  4
  •   p.campbell    11 年前

    有关配置文件、TFS和不同开发人员计算机的最佳实践是(hem-hem)…

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

    • nomore“但它在我的电脑上工作”

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

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

    • 它确实有助于设置构建环境或部署。

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

        4
  •  2
  •   Yandros    14 年前

    您可以复制不想签入的文件,撤消它们的签出,并用副本替换它们。由于更改是从外部vs进行的,因此不会签出它,因此它不会在挂起的更改列表中。

    (我知道这是一个古老的问题,但我相信有人想找个方法来解决这个问题,可以用这个答案)

        5
  •  2
  •   Yahoo Serious    12 年前

    对于我们在2005/2008版本中的工作,我们打开了多个签出,并且从未签入web.config。

    对于尝试做一些奇怪的事情却没有登记的麻烦,我们从来没有登记过。奇怪的是,这些文件中有一个是签入的,很快就会出现“嘿,伙计们,我搞砸了”。

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

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

    您还可以修改.sln/项目文件。 我在测试项目中使用了这种方法,我不想为了运行自己的测试而修复其他人的测试,所以我从TFS中删除了我的测试项目,同时保持其他测试项目的完整性。

        6
  •  1
  •   Akash Kava    14 年前

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

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

        7
  •  1
  •   ChrisLively    14 年前

    您使用的是哪个版本的Studio?

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

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