我们在使用TFS源代码管理的时候,会遇到这样的情况:源代码管理会在每个使用者的PC上创建一个工作区,然后将这个工作区域映射到服务器上的源码文件夹,我们在正常签入,签出的时候,我们的源码会在服务器到客户端的工作区进行操作。
但是一旦有项目组成员在告假或者离职之前签出,并且加入了签出锁,这时如果项目组的其他成员想要修改被锁定的文件,或者是TFS的管理员想要在源代码管理中删除这个项目,那么问题出现了。
因为我们无法通过Team Explorer图形界面来进行撤出签出操作,只能通过TFS命令:undo来进行操作,强行撤出别人签出的文件。
具体步骤如下:
1.在命令行中输入"cd C:Program FilesMicrosoft Visual Studio 10.0Common7IDE"(tf程序在文件夹)
进入tf程序所在目录。
2.查找那个人所用到的workspace,操作如下:tf workspaces /owner:hy(用户登录名) /server:http://192.168.10.126(服务器IP):8080/tfs/ET-TFS(具体项目集合)
PS:我这里输入的服务器名称,即yt-net,这和输入IP是一样的。
3.查看那个人挂起的更改:tf status /server:http://192.168.10.126:8080/tfs/ET-TFS /workspace:* /user:wws:3
PS:蓝色框框出的路径就是下面撤销时使用的路径,我一开不知道输入的本地路径,结果总提示找不到更改, ⊙﹏⊙b汗
4.撤销他的签出(强制),操作如下:
tf undo /workspace:PC201502261425(工作区名字);wws:3(用户名) $/BMS2.0/实现阶段/BMS2.0/WEB/*(上面蓝色框内的路径) /Server:http://192.168.10.126:8080/tfs/ET-TFS(TFS服务器集合路径)
其中文件路径和Server的顺序可以对调
说明:/*是表示签入文件夹中所有签出的文件;/recursive表示撤销,可以不加。