首页 > 程序开发 > TFS2008中销毁受版本控制的文件

TFS2008中销毁受版本控制的文件

2008年5月26日

今天由于团队的一个成员换机器,同时忘记将TFS中一个处于删除状态的源码文件签入,导致文件处于锁定状态无法操作。于是找了一下相关的解决方案如下:

移除对处于版本控制下的文件的访问权限

1、在 Visual Studio“视图”菜单上,单击“其他窗口”,然后单击“源代码管理资源管理器”。

2、找到并签出要移除的文件。有关更多信息,请参见如何:签出和编辑受版本控制的项。

3、在“签出”对话框中,请验证已选择正确的文件,然后单击“选择锁定类型”选项中的“签出”。

4、在要覆盖最新版本的文件的位置,创建一个名称和扩展名与其相同的新文件并保存。

5、签入文件。

6、右击文件,然后单击“属性”打开文件的“属性”对话框。在“属性”对话框中,单击“安全”选项卡并清除“继承安全设置”框。

7、对每个用户和组(“管理员”除外),单击“拒绝”。

8、对其他用户,单击“确定”将文件从源代码管理资源管理器中移除。

从命令行移除对文件的访问权限

1、打开命令行,并使用 tf 实用工具的 CheckOut 命令获得要移除的文件的启用写入版本。例如:

  1. tf checkout myfile.cs

2、创建新文件,并覆盖要移除的文件。

3、使用 CheckIn 命令替换数据库中的文件的版本。

例如,您可能希望添加注释,描述文件已覆盖并且权限被拒绝。

  1. tf checkin /comment:"Overwrote bad file and denied permissions."

4、同时使用 permission 命令和 /deny 选项以更改用户或组对该文件的权限。

例如,可以使用下面的命令拒绝 ADATUM 域上的组对文件的读取权限。

  1. tf permission /inherit:no myfile.cs
  2. tf permission /deny:read myfile.cs /group:ADATAUM\Group1 ADATAUM\Group2 myfile.cs

永久销毁受版本控制的文件

依次单击“开始”、“所有程序”、“Microsoft Visual Studio 2008”、“Visual Studio Tools”和“Visual Studio 命令提示”。

1、若要预览文件 aFile.cs 而不销毁它,请在命令提示符处键入:

  1. >tf destroy /preview /i $/MyTeamProject/aFile.cs

“命令提示符”窗口中会显示文本“已销毁: $/MyTeamProject/aFile.cs”,但在使用 /preview 选项时不会实际销毁该文件。

2、若要销毁文件 aFile.cs,请在命令提示符处键入:

  1. >tf destroy /i $/MyTeamProject/aFile.cs

此命令在“命令提示符”窗口中显示有关可能的挂起更改和搁置集的信息。因为指定了 /i(非交互式),所以在永久移除文件前将不提示您 Yes、No、Yes to all 对话框。

3、若要在销毁 aFolder 中的所有文件的同时保留这些文件的历史记录,请键入:

  1. >tf destroy /keephistory $/MyTeamProject/aFolder

注意:/keephistory 不能与 /preview 一起指定。

4、使用 /stopat 选项可以保留直到并包括 versionSpec 值的历史信息。versionSpec 值可以是最新版本、特定变更集或日期。若要销毁团队项目 MyTeamProject 中的所有文件,同时保留直到并包括 2005 年 10 月 23 日的文件的历史记录,请键入:

  1. >tf destroy $/MyTeamProject /keephistory /stopat:D10/23/2005

5、使用 /startcleanup 选项可以立即清除 Team Foundation Server 不再引用的内容。如果不使用此选项,则在某 SQL 进程维护数据库时(一般每天运行一次)将移除销毁的文件。
若要立即销毁 aFolder 中的所有文件,请键入:

  1. >tf destroy /startcleanup $/MyTeamProject/aFolder

程序开发 , , ,

  1. cynthia
    2008年6月13日10:21 | #1

    高手您好,我刚刚开始使用tfs进行配置管理,想请教一个配置管理方案,感激不尽。

  2. 2008年6月27日11:27 | #2

    @cynthia
    对不住。。。今天才看见你的留言,不太清楚你说的配置管理方案具体指什么,我在搭建的时候只是设置了管理员和团队成员权限,不知道是不是指这个

  1. 本文目前尚无任何 trackbacks 和 pingbacks.