【发布时间】:2018-10-31 01:22:27
【问题描述】:
我正在编写一个库的项目。我有一个文件,我们称之为... tester.cs 我用于测试库。现在,我应该只签入库,但我不小心也签入了 tester.cs。有什么办法可以从远程服务器中删除它而不在本地删除它?并最终将其从源代码控制中删除?提前谢谢你。
【问题讨论】:
标签: visual-studio tfs visual-studio-2015
我正在编写一个库的项目。我有一个文件,我们称之为... tester.cs 我用于测试库。现在,我应该只签入库,但我不小心也签入了 tester.cs。有什么办法可以从远程服务器中删除它而不在本地删除它?并最终将其从源代码控制中删除?提前谢谢你。
【问题讨论】:
标签: visual-studio tfs visual-studio-2015
如果您想删除 TFS 服务器上的文件并将它们留在本地。有一个明显的将文件复制到临时位置的蛮力解决方案,修复源代码管理,然后将它们重新添加到您的项目中。
还有一个类似的问题供您参考:How to delete a file from TFS repository without deleting local file
【讨论】:
这实际上取决于您所说的“删除”是什么意思。 TFVC 具有删除的概念,它将文件在项目集合数据库中标记为已删除(并将其从您的工作区等中删除)。并且您有概念 op 'destroy' 这意味着该文件将从项目集合数据库中删除,并且除了还原 TFS 备份之外的操作是不可恢复的。但这会将您的本地文件保留在原位,并在源代码管理中清除该文件的所有痕迹。
但是,如果您在 VS(.proj 文件)中将其添加到您的项目中,那么其中也会有对该文件的引用以及用于编译等。这将在其他用户时导致问题执行最新解决方案。
此外,如果您使用的是本地工作区,则可以使用 .tfignore 文件来防止此类文件首先添加到本地工作区。请参阅this page,在底部附近有一些关于 .tfignore 文件及其工作方式的信息。
【讨论】:
我认为这就像制作文件的本地副本、在 TFS 中删除它并将本地副本移回原始位置一样简单。 Visual Studio 不允许您在 C# 项目或源代码管理资源管理器中执行此操作。
【讨论】: