Lock 命令

锁定或取消锁定文件或文件夹,以拒绝或还原用户将要编辑的项签出到其他工作区的权限,或从其他工作区签入对项的挂起的更改的权限。

必需的权限

若要使用 lock 命令,您必须将**“锁”权限设置为“允许”。 如果您对其他用户的工作区不具备“写入”权限,则必须将“取消锁定其他用户的更改”权限设置为“允许”**才能移除该用户持有的锁。 有关更多信息,请参见 Team Foundation Server 权限

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

参数

参数

说明

itemspec

标识要锁定或取消锁定的文件或文件夹。 有关 Team Foundation 如何分析项规范以确定哪些项在范围之内的更多信息,请参见命令行选项

注意注意
可指定多个 Itemspec 参数。

workspacename

用户提供的 /workspace 选项的值。

username

/login 选项提供值。 可以按域\用户名或用户名的格式指定用户名值。

TeamProjectCollectionUrl

您要锁定或取消锁定的文件或文件夹所在的团队项目集合的 URL(例如,http://myserver:8080/tfs/DefaultCollection)。

选项

说明

/lock

指定锁类型或从项中移除锁。 有关更多信息,请参见 了解锁定类型

锁定选项:

  • 从项中移除锁。

  • Checkin

    使某个项可在所有工作区中签出并进行编辑,但在您显式释放签入锁之前,将阻止用户签入在指定的 /workspace 之外对该项的更改。 如果指定的项已在任何其他工作区中被锁定,则锁定操作将失败。

  • Checkout

    阻止用户在您显式释放锁之前,签入或签出任何一个指定项。 如果用户已锁定任何一个指定项,或存在对任何一个项的挂起的更改,则锁定操作将失败。

/workspace

指定要在其中应用锁定的另一个工作区的名称。 默认情况下,会向您当前所在的工作区应用锁定。

/login

指定用于在 Visual Studio Team Foundation Server 中验证用户身份的用户名和密码。

/collection

指定团队项目集合。

备注

可以使用 lock 命令暂时冻结一个项的 Team Foundation 版本控制 服务器版本,这样无需解决任何合并冲突即可签入挂起的更改。 如果您希望永久阻止对 Team Foundation 版本控制 服务器中的某个项的访问,则应改用 Permission 命令

提示

为表示对团队成员的尊重,在您对某个项应用锁定时,请通知他们并解释您这样做的原因,并在可能的情况下估计您打算移除锁定的时间。

有关如何查找 tf 命令行实用工具的更多信息,请参见 Tf 命令行实用工具命令

如何锁定项

可以使用 lock 命令或通过在执行 tf 命令行实用工具的多个其他命令期间指定锁定选项来锁定某个项,这些命令包括:

对于添加和分支操作,锁放置在将创建新项的命名空间上。 因重命名而放置的锁将同时应用于旧命名空间和新命名空间。 有关更多信息,请参见锁定和取消锁定文件夹或文件

锁类型

Team Foundation 提供两种锁类型:checkincheckout

签入锁的限制少于签出锁。 当您应用签入锁时,用户可以继续在其他工作区中对项进行本地更改。 在您从工作区显式移除签入锁之前,无法签入这些更改。

签出锁的限制多于签入锁。 当您将签出锁应用于受版本控制的文件或文件夹时,用户既无法签出文件以进行编辑,也无法签入预先存在的挂起的更改。 如果当前存在对某个项的任何挂起的更改,您将无法获取签出锁。

有关何时应用签出锁以及何时应用签入锁的更多信息,请参见了解锁定类型

锁定的工作方式

如果您在锁定一个文件时签出了该文件,则会修改该文件的状态以包含新的锁类型。 如果未签出文件,则“锁定”更改将添加到挂起的工作区变更集内。 与 checkout 命令不同,lock 不会自动使文件变为可编辑的文件。

文件夹上的锁是隐式递归的。 如果锁定某个文件夹,则无需锁定该文件夹包含的文件,除非您希望对具有签入锁的文件夹中的某个文件应用限制更严格的签出锁。

取消锁定项

您可以使用 none 选项来取消锁定已锁定的项。 此外,当您签入工作区中挂起的更改时,Team Foundation 会自动取消对项的锁定。

您可以使用 Status 命令 确定哪些文件在 Team Foundation 版本控制 服务器中进行了锁定以及是谁锁定了这些文件。

示例

下面的示例防止其他用户签出 314.cs。

c:\projects>tf lock /lock:checkout 314.cs

下面的示例防止其他用户签入对 1256.cs 的更改,但允许他们在其工作区中将它签出。

c:\projects>tf lock /lock:checkin 1256.cs

下面的示例防止其他用户挂起对 Team Foundation 版本控制 服务器中的 src/ 文件夹中的任何项所做的更改。

c:\projects>tf lock /lock:checkout $/src

下面的示例取消对 src/ Team Foundation 版本控制 服务器文件夹中的所有文件的锁定,并使其他用户可以签出和签入这些文件。

c:\projects>tf lock /lock:none src/

请参见

参考

命令行语法(版本控制)

Checkout 和 Edit 命令

Status 命令

概念

了解锁定类型

创建工作区以使用团队项目

其他资源

Tf 命令行实用工具命令

使用版本控制锁