我们有一个项目存储在我们的TFS服务器中,并且我从另一台计算机和另一位用户(不再使用这两个文件)中检出了一些文件。有没有一种方法可以强制解锁该文件(未对其进行任何更改,因此,如果我只能这样做,这是安全的)。
Answers:
如果您使用admin帐户登录到源代码管理,则可以强制撤消签出或使用提供的任何文件签入。
(注意:我已经安装了TFS电动工具,因此,如果看不到所描述的选项,则可能需要安装它们。http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f)
如果您以团队项目管理员(或至少具有“撤消其他用户的更改”访问权限的人)的身份访问Source Control Explorer,则可以在Visual Studio 2012中执行以下操作以清除锁定和签出。
该文件现已解锁。
您可以使用TFS Sidekicks工具的Status Sidekick来解锁其他用户签出的文件。为此,您应该是该特定Team Project的Administrator组的一部分(或您的组应具有撤消和解锁默认情况下Administrator组具有的其他用户更改的权限。
您可以在此处获得该工具:http : //www.attrice.info/cm/tfs/
我可以使用以下命令撤消其他用户的结帐:
tf undo {file path} /workspace:{workspace};{username}
如果您从PowerShell运行命令,则需要将分号括在双引号中。我们正在运行TFS 2010(和VS 2010)。
免责声明:我是从FCI-H博客(http://fci-h.blogspot.com/2011/01/how-to-force-undo-checkout-tfs.html)上获得的
Team Foundation Sidekicks具有Status助手,可让您查询已检出的工作项目。选择工作项后,单击工具栏上的“撤消锁定”按钮。
权利
请记住,您将需要适当的权利。该权限称为“撤消其他用户的更改”和“解锁其他用户的更改”。这些权限可以通过以下方式查看:
我使用TFS Powertools解决了这个问题(2011年12月-VS 2010 TFS 2010)
http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f
在源代码管理中查找| 状态...可让您查找签出给特定人员的所有文件
右键单击并撤消...可以删除每个结帐。
基于stackptr的答案,我创建了批处理文件UnlockOther.bat
@rem from /programming/3451637/how-to-unlock-a-file-from-someone-else-in-team-foundation-server
@rem tf undo {file path} /workspace:{workspace};{username
call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
@echo on
tf undo $/MyTfsProject/path/fileName.ext /workspace:CollegeMachine;CollegueName /login:MyLogin
@pause
Team Foundation Sidekicks对我来说很好。
该文件未解锁,因此我撤消了未决的更改,然后可以删除该文件。
2019年答案,因为以上大多数已被弃用。
tf undo /workspace:"hostname;username" "$/path/*" /s:https://yourhostname/tfs
在提升的命令提示符下,例如
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>
tf lock
命令,但tf undo
它的工作
使用TFS随附的解锁命令
键入以下命令,并使用适合您需要的参数信息替换参数:
tf lock /lock:none $/MyTeamProject/web.config
tf lock itemspec /lock:(none|checkout|checkin)
[/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]
从MSDN。
您需要是项目管理员或拥有锁定文件用户的tfs帐户(用户名/密码)。
在Visual Studio 2019中:
Drive:\your solution path>
tf vc undo /workspace:"workspacename;worksapceowner" "$/path/[file.extension][*]" [/recursive] [/login:"user name,password"]
tf vc undo /workspace:"DESKTOP-F6BN2GHTKQ8;Johne123" "$/mywebsite/mywebsite/appsettings.json"
就我而言,我尝试使用来解锁文件,tf lock
但被告知无法执行此操作,因为不再存在的旧计算机上的陈旧工作空间是本地工作空间。然后,我尝试使用删除工作空间tf workspace /delete
,但删除工作空间并没有删除锁定(然后我无法尝试再次解锁它,因为我只是收到一条错误消息,指出工作空间已不存在)。
我结束了tf destroy
文件并再次签入,这很愚蠢,并且具有从以前的变更集中删除\的不良效果,但至少让我们重新工作了。在这种情况下没什么大不了的,因为自从签入文件以来从未更改过文件。