作为常驻的 TFS 管理员,有时候会被要求取消某个用户在源代码控制中检入的某个文件上的锁定(通常是一个检出)。
如何取消另一个用户的检出?
如何取消另一个用户的检出?
至少有2种不同的方法可以实现这个:
命令行
有一个名为Tf.exe的命令行实用程序附带于Team Explorer中。您可以在此处找到文档(链接)。它可以通过启动Visual Studio命令提示窗口来访问。该命令的语法是:
tf undo [/workspace:workspacename[;workspaceowner]]
[/server:servername] [/recursive] itemspec [/noprompt]
对于一个文件
tf undo /workspace:workspacename;workspaceowner $/projectname/filename.cs
图形用户界面(GUI)
第二种方法是通过GUI实现,但这不是标准功能 - 您需要安装TFS Power Tools。有关如何使用此方法,请参见此处。
请记住,使用任一种方法都需要适当的权限。权限称为“撤销其他用户的更改”和“解锁其他用户的更改”。您可以通过以下方式查看这些权限:
删除工作区
tf workspace /delete WorkspaceName;User
/server:http://server:8080/tfs/MyTeamCollection
我发现最简单的方法是使用免费的TFS Sidekick 应用程序。它有一个选项可以查看和撤销其他用户的检出。
我自己也遇到过这个问题,发现了一种更简单的方法来清理旧的工作区。
在Visual Studio中,打开源代码管理资源管理器(Source Control Explorer)。
从“工作区”下拉菜单中选择'工作区...'
一个对话框将出现,显示当前PC上的工作区。选择'显示远程工作区'。
您现在还会看到来自以前PC的工作区(只要它们来自同一用户帐户)。选择旧的工作区并单击'删除'。这应该删除TFS上的旧工作区以及所有持久的签出。
我相信Arne已经找到了解决方案,但我希望这可以帮助那些通过搜索引擎来寻找解决方案的人。