如何从Team Foundation Server中的其他人解锁文件


74

我们有一个项目存储在我们的TFS服务器中,并且我从另一台计算机和另一位用户(不再使用这两个文件)中检出了一些文件。有没有一种方法可以强制解锁该文件(未对其进行任何更改,因此,如果我只能这样做,这是安全的)。


这只是意味着我从那以后更改了计算机,然后又更改了用户,因为那时我使用的是临时用户……
David Brunelle 2014年

Answers:


13

如果您使用admin帐户登录到源代码管理,则可以强制撤消签出或使用提供的任何文件签入。


1
通常是管理员或管理员,没有通过认证。
Kurast

问题是,通常是这样,因为它是默认值。
kurast

我实际上是在将新文​​件添加到新的Bound源控件中。它一直说它被用户锁定。我从TFS删除了用户的工作空间,但是它一直困扰着我。只有部分文件无法签入。继续告诉我
Piotr Kula

我已授予Project Administrator访问权限,但解锁仍显示为灰色。我在命令提示符下尝试了tf.exe。我收到此错误“ TF14090:无法解锁$ / project / myfile.txt。它当前未锁定在您的工作空间中。” 请帮忙!
Mohan Ram

“如果您使用管理员帐户登录到源代码管理” .....我在.NET,Visual Studio和TFS方面拥有20多年的经验。我没有你在说什么。顺便说一句。我们都是管理员,我们都拥有灰色的UNLOCK。
基督教徒

120

这是我在Visual Studio 2012中所做的

(注意:我已经安装了TFS电动工具,因此,如果看不到所描述的选项,则可能需要安装它们。http://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f

如果您以团队项目管理员(或至少具有“撤消其他用户的更改”访问权限的人)的身份访问Source Control Explorer,则可以在Visual Studio 2012中执行以下操作以清除锁定和签出。

  1. 在源代码管理资源管理器中,找到包含锁定文件的文件夹。
  2. 右键单击并选择查找,然后选择按状态查找...
  3. 出现“在源代码管理中查找”窗口
  4. 点击查找按钮
  5. 应出现“在源代码管理中查找”选项卡,其中显示已签出的文件
  6. 右键单击要解锁的文件
  7. 从上下文菜单中选择“撤消...
  8. 出现确认对话框。单击按钮。
  9. 该文件应从“在源代码管理中查找”窗口中消失。

该文件现已解锁。


2
一个人在哪里分配或查看“撤消其他用户的更改”权限?
flipdoubt 2014年

您也可以选择全部(Ctrl-A),然后右键单击撤消。这将删除所有锁。
TheSoftwareJedi

1
对于Visual Studio 2013:visualstudiogallery.msdn.microsoft.com/...
juFo

1
对于VS 2013:源代码管理资源管理器>导航到某个文件夹>右键单击>撤消待处理更改>选择要撤消的文件>按下按钮以进行撤消更改
Cyrus

2
简而言之,这是一个很好的答案,节省了我很多时间。谢谢!
蒂姆(Tim)


36

我可以使用以下命令撤消其他用户的结帐:

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)上获得的


我正在尝试遵循它,但是有些方法无法成功。我想知道用户应该有权撤消其他用户锁定的设置,还是任何tfs用户都可以这样做
User1551892 2014年

@PeterX在Visual Studio“源代码管理资源管理器”中,右键单击文件>高级>属性:转到状态选项卡。它将向您显示那里的工作区。
Doug Coburn

21

Team Foundation Sidekicks具有Status助手,可让您查询已检出的工作项目。选择工作项后,单击工具栏上的“撤消锁定”按钮。

权利

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

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

使用Team Foundation Sidekicks解锁文件的屏幕截图

免责声明:此答案是布雷特·罗杰(Brett Roger)对类似问题答案的编辑后稿。


出于某种原因,此操作对我不起作用。我指的是TFS2013,是完全管理员,使用Sidekicks 5.0.0.0。正如Leandro在下面的答案中提到的那样,唯一有效的操作是“撤消待更改”。
EJA


6

基于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

4

Team Foundation Sidekicks对我来说很好。

该文件未解锁,因此我撤消了未决的更改,然后可以删除该文件。


感谢您提出的非显而易见的提示!我要补充一点,解锁没有显示任何错误或消息,只是取消选择了文件而已。唯一需要的是“撤消挂起的更改”,这将删除锁。删除锁没有。VS2010,补充3.1.1。
FredCooke

2

2019年答案,因为以上大多数已被弃用。

tf undo /workspace:"hostname;username" "$/path/*" /s:https://yourhostname/tfs 在提升的命令提示符下,例如 C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>


1
尽管有必要的权限,我不能解锁与传统的文件夹tf lock命令,但tf undo它的工作
Techromancer

1

使用TFS随附的解锁命令

  1. 单击“开始”,单击“所有程序”,单击“ Microsoft Visual Studio 2008”,单击“ Visual Studio工具”,然后单击“ Visual Studio命令提示符”。
  2. 键入以下命令,并使用适合您需要的参数信息替换参数: tf lock /lock:none $/MyTeamProject/web.config

    tf lock itemspec /lock:(none|checkout|checkin) [/workspace:workspacename] [/recursive] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

MSDN


1

您需要是项目管理员或拥有锁定文件用户的tfs帐户(用户名/密码)

在Visual Studio 2019中:

  • 菜单>视图>终端(Ctrl +`)
  • 等待开发人员powershell或命令提示符加载到光标,如下所示:
    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"

0

就我而言,我尝试使用来解锁文件,tf lock但被告知无法执行此操作,因为不再存在的旧计算机上的陈旧工作空间是本地工作空间。然后,我尝试使用删除工作空间tf workspace /delete,但删除工作空间并没有删除锁定(然后我无法尝试再次解锁它,因为我只是收到一条错误消息,指出工作空间已不存在)。

我结束了tf destroy文件并再次签入,这很愚蠢,并且具有从以前的变更集中删除\的不良效果,但至少让我们重新工作了。在这种情况下没什么大不了的,因为自从签入文件以来从未更改过文件。

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.