TFS获取特定版本,类型标签删除当前标签中未包含的所有文件

Nem*_*cic 2 tfs visual-studio-2010 source-control-bindings tfs2010

我们有使用4个文件制作标签的情况(假设所有项目都包含10个文件,因此另外6个文件不会放在我们的新标签中).

何时执行操作获取特定版本和版本类型放置标签,然后选择我们的新标签,本地文件夹中未包含在新标签中的所有文件(在我们的示例中,另外6个文件)将被删除!这是非常奇怪的情况,所以你能解释一下我希望获得在新标签中标记的特定版本文件的场景,但保留所有其他文件的现有版本并将它们保存在本地文件夹中,所以我只想更新文件在我的新标签中,并没有对lablel中没有的文件做任何事情???

我想在TFS中有一些设置可能会阻止删除这些文件!

TnX提前!

维迪奇

Rob*_*cus 6

这是按设计工作的.对TFS中的标签要非常小心,它们与您在其他类型的源代码控制中使用的标签略有不同.在TFS中,标签非常易变,并且可以轻松地在单个文件上移动.它们很强大但很危险.

如上所述,您可以为单个文件执行get by标签,你会没事的.但是,当您在文件夹上执行特定的get by标签时,您要求TFS将该文件夹中的所有内容还原到标签上指示的相同版本.如果该文件夹中的文件未标记,则不会与任何版本标签匹配,并且将被删除.

请记住,TFS中的单个文件/版本可以有多个标签,因此解决此问题的一种方法是使用新标签标记该目录中的所有文件,然后将此新标签移动到与另一个标签相同的版本.

考虑三个文件$/Project/Folder......两个标有LABEL_A,一个没有标记.你会做这样的事情.

tf label /server:http://tfs:8080 LABEL_B $/Project/Folder /recursive
Run Code Online (Sandbox Code Playgroud)

这将使用LABEL_B标记所有文件.现在您需要移动LABEL_B到正确版本的LABEL_A文件:

tf label /server:http://tfs:8080 LABEL_B $/Project/Folder /recursive /version:LLABEL_A
Run Code Online (Sandbox Code Playgroud)

请注意, 2 L's/version:......这告诉TFS该标签从文件的一个版本移动到另一个版本.

完成后,根据具体情况获取具体内容LABEL_B,您应该好好去.