【问题标题】:Deleted project folders/files remain in VSO/TFVC and the file system删除的项目文件夹/文件保留在 VSO/TFVC 和文件系统中
【发布时间】:2017-01-11 13:28:18
【问题描述】:

我有一个包含以下项目的解决方案:

  1. 网页应用 01
  2. 服务器控制Foo
  3. 服务器控制栏

每个项目在解决方案的根目录下都有自己的目录,直接镜像解决方案的结构。

我对解决方案进行了分支,然后将项目 2 和 3 合并到该解决方案中的一个新项目中,然后删除项目 2 和 3。我提交了变更集。 VS2015 解决方案资源管理器中的结果结构是这样的:

  1. 网络应用 01
  2. 服务器控制库

然后我合并了分支,并提交了这个。随着时间的推移,分支和合并变得越来越慢。在检查我的硬盘驱动器和 Visual Studio Online 的文件结构时,我看到了这个文件夹结构:

  • 网页应用 01
  • 服务器控制Foo
  • 服务器控制栏
  • 服务器控制库

尽管解决方案资源管理器未列出已删除的项目,但我所有已删除项目的文件夹和文件仍然存在。尽管他们的地位,他们也每次都被分支。这是正确的行为,删除它们是否安全?如果是这样,我应该使用 VSO、Windows 还是 VS2015 删除?

【问题讨论】:

  • 你使用的是 TFVC,而不是 Git,对吧?

标签: visual-studio visual-studio-2015 azure-devops tfvc


【解决方案1】:

我假设您正在使用 TFVC(变更集,分支解决方案)。 首先,从解决方案中删除项目(在VS中右键单击项目>删除)只需删除项目与解决方案之间的关系,项目的文件和文件夹仍然存在于硬盘中。所以你需要从硬盘(文件系统)中删除这些文件和文件夹。

其次,这些文件仍然存在于源代码管理中,因为如果您只是从解决方案中删除项目,它们不会被标记为已删除,因此签入更改只会影响解决方案文件,它不会从源代码中删除文件控制。所以你需要从源代码管理中删除它们,这是安全的。
删除文件的步骤:

  1. 转到 VS 中的源代码管理资源管理器
  2. 右键单击文件夹或文件 > 删除
  3. 签入更改

顺便说一句,如果您不永久销毁文件,这些文件仍然可以恢复。 (销毁命令),更多信息,可以参考这篇文章:Delete or restore files and folders in Team Foundation Version Control (TFVC)

【讨论】:

  • 感谢您的澄清。是的,我现在看到右键单击项目文件会显示一个“删除”选项,我认为它是“删除”。恢复功能很不错,但解决方案资源管理器除了“删除”之外还会出现“删除”吗?实际删除东西似乎需要做很多工作!
  • @EvilDr 对于解决方案中的项目:删除。对于项目中的文件/文件夹:删除。
  • 非常感谢。谢谢。
猜你喜欢
  • 1970-01-01
  • 2015-05-13
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 2019-10-01
  • 1970-01-01
相关资源
最近更新 更多