如何在TFS中撤消其他用户的结帐?


95

作为常驻TFS管理员,有时会要求我撤消用户已将某个文件签入源代码管理中的签出(通常是锁定)。

您如何撤消其他用户的结帐?

Answers:


143

至少有两种不同的方法可以做到这一点:

命令行

Team Explorer附带了一个名为Tf.exe的命令行实用程序。在此处找到文档。可以通过启动Visual Studio命令提示符窗口来访问它。该命令的语法为:

tf undo [/workspace:workspacename[;workspaceowner]] 
[/server:servername] [/recursive] itemspec [/noprompt]

对于一个文件

tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs

图形用户界面

第二种是通过GUI,但不是标准的-您必须安装TFS Power Tools。有关如何使用此方法的详细信息,请参见此处

请记住,无论使用哪种方法,您都将需要适当的权限。该权限称为“撤消其他用户的更改”和“解锁其他用户的更改”。这些权限可以通过以下方式查看:

  1. 在源代码管理资源管理器中右键单击所需的项目,文件夹或文件
  2. 选择属性
  3. 选择安全选项卡
  4. 在顶部的“用户和组”部分中选择适当的用户或组
  5. 查看底部的“ [用户/组]的权限:”部分

删除工作区

tf workspace /delete WorkspaceName;User
             /server:http://server:8080/tfs/MyTeamCollection 

对我来说,命令tf undo / workspace:mydesk * .sdf报告“无任何更改”,但不撤消签出(锁定)
dumbledad 2012年

我忘记了我的* .sdf itemspec之前的TFS服务器路径,我以为它将从当前目录中解决这个问题。您提供的命令行现在对我有效。
dumbledad

1
确保在带空格的路径周围使用引号,否则您可能会收到类似以下消息:“未找到$ / xxx的待处理更改”
PeterX 2014年

如何找到工作区名称?我看到我可以运行:tf工作区/ owner:[其他用户] / server:[服务器],我得到了用户拥有的四个工作区的列表,但是我怎么知道文件的工作区呢?
PeterX 2014年

1
PeterX,您可以通过在Visual Studio的解决方案资源管理器中导航到文件来查看工作区,右键单击锁定的文件并选择“属性”,然后在“状态”选项卡中获得有关工作区和锁定文件的用户的信息
Dante

36

我发现最简单的方法是使用免费的TFS Sidekick应用程序。它具有查看和撤消其他用户的结帐的选项。


5
它在“状态同伴”下。搜索,选择文件,撤消。
Wolf5 2014年

如果用户已经离开公司,则您必须知道Active Directory用户名(该用户名并不总是与用户的名字和/或姓氏相同)。我的公司分配了编号的用户名,因此我必须先查找退休的用户,然后才能在VS或Status TFS Sidekick中搜索他。
Zephan Schroeder 2014年

这非常了不起。这比尝试使用命令行工具找出工作区名称容易得多。
Bo Flexson

28

我本人只是遇到了这个问题,发现了一种更简单的方法来清理旧的工作区。

  1. 在Visual Studio中,打开“ 源代码管理资源管理器”

  2. “工作区”下拉列表中,选择“ 工作区...

  3. 将出现一个对话框,显示当前PC上的工作区。选择“ 显示远程工作区

  4. 现在,您还将看到以前PC上的工作空间(只要它们来自同一用户帐户)。选择旧的工作区,然后单击“ 删除 ”。这应该从TFS中删除旧的工作空间以及所有持久性检出。

我确定Arne已经找到了解决方案,但是希望这对其他使用Google搜索该问题的人有所帮助。


7
如果您是工作空间所有者,那么此方法效果很好,特别是对于清理当前工作空间列表而言。删除其他用户的工作区或签出锁定不是很好::)。
Zephan Schroeder 2014年

同意 这对于从另一台PC删除您自己的结帐锁定非常有效。
克里斯(Chris)

1
是的,但是这个问题特定于解锁签出给不同用户的文件。
BrainSlugs83

9

在TFS助手中选择文件,然后在列表上方,您有一个“撤消未决更改”。单击该按钮,更改将被撤消:)该图标类似于MS单词中的“撤消”图标


使用最简单的工具。确实帮助我撤消了前工作人员签出的解决方案级别的更改
Vishnoo Rath
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.