【问题标题】:File gets excluded every time the latest code is taken from TFS每次从 TFS 获取最新代码时都会排除文件
【发布时间】:2016-12-16 20:50:15
【问题描述】:

让我们理解问题:

对于我们在 Windows 7 x64 上使用 Visual Studio 2013 高级版的 ASP.NET 项目

开发者 A 的机器上:

  • 我们有一个TFS 设置
  • 我们在项目中添加了一个新的文件A
  • 我们checked-in TFS 源代码管理中新创建的文件

开发者 B 的机器上:

  • 我们有相同的TFS 设置
  • 我们强行采用了最新(specific option - overwrite option)版本
  • 文件 A 被加载到项目中,但仍保持排除
  • 开发者 B 手动将文件包含在项目中

这些文件很好地包含在内,这是我们所关心的。为什么包含的文件在其他开发人员的机器上被排除在外?

新添加的文件会加载到开发人员 B 的机器上,但它们不会显示在解决方案树中。我们必须在显示所有文件

之后手动将它们包含在项目中

每个开发者的机器上只有一个映射。该代码将仅用于本地映射的工作区

我们有一个大团队,所以对于每个开发人员来说。每次我们采用最新版本时都会发生这种情况。

我们如何抑制这种行为?有这样的设置吗?

我们已经尝试在网络上搜索,找不到解决方案。

【问题讨论】:

    标签: visual-studio visual-studio-2013 tfs version-control windows-7-x64


    【解决方案1】:

    似乎 TFS 自动排除了更改。您可能会遇到如下情况:

    • 它们未加载到您当前的解决方案中,因此 Team Explorer 假定它们是作为不同解决方案的一部分制作的,并且 您不想将它们与更改一起签入 一定要符合你所处的环境。
    • 它们是在不同的工作区中制作的,Team explorer 再次假设您要签入在逻辑上有意义的文件组。

    更多详细信息请参考jessehouwing在这个问题What are "Excluded Changes" in Team Foundation Server?的非常详细的回答

    如果您正在与一个大团队合作,那么您用来“强制”获取最新信息的方式不是推荐的解决方案。建议您仍然使用get latest 下载TFS 服务器上的文件。即使您可能无法获得文件的“真正最新版本”。如果在签入操作期间存在冲突,您仍然可以对其进行处理并找出冲突。

    更新


    如果开发 A 已签入文件,但未签入项目文件(.csproj 文件),那么如果您执行“获取最新文件,TFS 将不会下载它们” strong>”,方法是在解决方案资源管理器中右键单击项目或解决方案。

    但是,如果您在源代码管理窗口中的文件夹上单击鼠标右键并“Get Latest”,您将正确下载文件。但是,它们不会被加载到您的解决方案中,因为您没有告诉 TFS 它们属于那里

    【讨论】:

    • 文件被很好地包含在内,这是我们所关心的。为什么包含的文件在其他开发者的机器上被排除在外?
    • 你是如何真正做到“强取最新”的?另外,如果开发者B使用普通的get latest,从TFS下载的文件还是会自动排除吗?
    • 是的,新添加的文件会加载到开发 B 的机器上,但是它们不会显示在解决方案树中。我们必须在项目中手动包含它们。我已经更新了问题
    • 机器B是否配置了正确的工作区映射?并在 tfs 映射的本地工作区中获取新添加的文件。根据您的描述,映射似乎有问题。
    • 每个开发者的机器上只有一个映射。该代码将仅用于本地映射的工作区
    猜你喜欢
    • 2017-05-14
    • 2021-10-23
    • 2017-12-02
    • 2018-11-15
    • 1970-01-01
    • 2018-09-26
    • 2017-06-21
    • 2011-12-16
    • 2018-12-15
    相关资源
    最近更新 更多