TFS版本是2012。
由于各种原因(签出后工作区更改、人员离职调动等)需要删除其他成员占用的文件。
有两种办法。
一、tf命令行(需要TFS管理员权限)。参考:https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2010/z51z7zy0(v=vs.100)
1.删除某个占用:tf undo /workspace:【工作区名称】;【工作区名称\用户名】 【需要删除的路径】
例子:tf undo /workspace:S123;S123\Administrator $/Code/NewCode/packages/EntityFramework.5.0.0/
如果有同名用户名但是在用户名前面不加【工作区名称\】会报错
2.如果上述方法无效,可以删除占用文件的用户工作区来解决:tf workspace /delete 【工作区名称】;【工作区名称\用户名】
例子:tf workspace /delete S123;S123\Administrator
注意:此方法会删除指定用户的指定工作区,同时该工作区的所有签出都会被撤销。
要进行命令行,需要进入vs开发人员命令,实在没找到就手动cmd cd去vs目录
二、数据库暴力修改。
引用:https://www.cnblogs.com/rene1018/archive/2012/05/08/2490404.html
1.进入tfs的数据库,如果是默认的话是:Tfs_DefaultCollection
2.根据VS提示被占用文件的工作区,以此工作区名称去数据库搜索:
select * from tbl_workspace where workspacename='VS中提示的工作区名称'
3.根据查找到的WorkspaceId进行搜索(可以视情况是否全部删除):
select * from tbl_pendingchange where workspaceid='id'
4.删除被占用的项:
delete from tbl_pendingchange where workspaceid='id'