似乎这应该是非常简单的事情,但我找不到如何做到这一点......
我使用我编写的脚本对存储库中传播的几个文件进行了更改。问题是 TFS 以其无限的智慧不认为文件发生了变化。除了手动查找每个文件并单击“签出以进行编辑”之外,还有什么方法可以告诉 TFS 重新扫描所有内容并检测更改?
似乎这应该是非常简单的事情,但我找不到如何做到这一点......
我使用我编写的脚本对存储库中传播的几个文件进行了更改。问题是 TFS 以其无限的智慧不认为文件发生了变化。除了手动查找每个文件并单击“签出以进行编辑”之外,还有什么方法可以告诉 TFS 重新扫描所有内容并检测更改?
文件夹比较(文件->源代码管理->比较...)应该可以解决问题。选择开始比较的顶层文件夹,然后选择与最新版本进行比较。结果应显示已更改的文件,以及它们是否已签出。
TFS 对此有一个“协调”命令。有关完整答案,请参阅https://stackoverflow.com/a/22860674/932282。
您需要使用local Workspace
. 以下是管理工作区的方法:
添加或编辑工作区时,单击Advanced >>
。然后你设置Location:
为Local
.
现在,当您的脚本或其他任何内容更改 Visual Studio 之外的文件时,您的工作区会changes
自动检测到。
它还可以检测到adds
,或者deletes
您必须Pending Changes
使用下面的链接手动将它们包含在您的Excluded Changes
但要小心。当adds
或deletes
被检测到并将它们添加到您的Pending Changes
时,这些文件不会自动包含到您的项目中。因此,您可能会将它们签入TFS
,但它们并未列在Solution Explorer
.
Matt Burke 解决了这个问题:
mattburkdev.com:“在 Visual Studio 中自动包含文件夹中的所有文件”
要编辑项目文件,请右键单击您的项目,选择Unload Project
,然后再次右键单击它并选择Edit
。编辑项目文件后保存并关闭它。然后右键单击并选择Load Project
。
但是你也需要小心,因为项目只在这些文件夹中搜索要包含的新文件,当你加载项目时,而不是在你打开项目时。因此,当一些文件被添加到 Visual Studio 之外时,您只需重新加载项目。
但是,如果您出于某种原因必须坚持使用服务器工作区,我会为您提供另一个技巧:
首先: 检查所有可能有未决更改的文件(最好检查许多文件)。然后转到 Team Explorer -> Pending Changes 并选择您刚刚签出的所有文件。然后选择“撤消更改”。在此之后,您会收到一条消息“确认撤消结帐”。此消息仅针对实际上已更改的文件弹出!对每个文件按“否”或“对全部否”。
最后:在未决更改下,所有文件都将从列表中删除,但有未决更改的文件除外。
我希望我可以帮助某人,只要我必须,您就不必搜索此解决方案^^
如果您在离线时发生了任何更改,您可以转到文件 > 源代码管理 > 上线,所有文件都将被检查是否有修改。
如果以上都不起作用,您还可以尝试通过转到文件 -> 源代码管理 -> 高级 -> 更改源代码控制来重新绑定您的项目。
无法识别放置在 TFS 文件夹中的 Dtsx 文件。
选择“上传现有文件”。然后,您可以将 .dtsx 文件拖放到窗口中,然后单击“确定”。
最后,您必须执行“获取”以在此处添加文件。然后你需要做一个'拉'。最后,您可以将更改提交到远程分支。
当我将项目从一台电脑移动到另一台电脑时,我有一段时间遇到了这个问题。解决方案是删除 TFS 在解决方案文件夹中创建的临时文件。删除.vs
和隐藏$tf
文件夹。
如果运气不好,在您的本地 PC 上将您的解决方案文件夹复制到另一个,删除解决方案中的所有文件,从 TFS 服务器获取最新版本,然后从复制的文件夹中获取必要和编辑的文件并将它们放回解决方案文件夹(这将覆盖一些文件)。
毕竟不要忘记检查项目映射,如果一切看起来正确,请尝试右键单击解决方案和“添加到源代码管理”选项。