了解锁定类型

更新:2007 年 11 月

您可以使用锁定命令暂时禁止更改源代码管理服务器中的特定文件或文件夹。如果您要更改工作区中的某一项,并且之后无需解决任何合并冲突就执行签入,则这可能十分有用。一次只能有一个用户持有对特定文件或文件夹的锁定。如果您希望始终禁止访问某一项,应改用 Permission 命令

锁类型

Team Foundation 提供了两种锁定:签入锁定和签出锁定。

签入锁的限制性不如签出锁严格。在您应用签入锁时,用户可以继续对其他工作区中的项进行本地更改,但不能签入这些更改,除非您从该项显式移除了签入锁或者通过将您的更改签入到该文件而隐式移除了该锁。

与签入锁相比,签出锁具有更严格的限制性,它禁止用户签出及更改其工作区中的锁定项。您只能在您自己的工作区中对存在任何挂起的更改的项应用签出锁。因此,对于锁持有者的第一个签入,签入或签出锁在锁定该签入的工作区中保证了该签入的权利。

锁定的工作方式

如果在锁定某一文件时对该文件执行签出操作,则将修改其签出记录以包含新的锁定类型。 如果未签出文件,则“锁定”更改将添加到挂起的工作区变更集内。 锁定命令与签出命令不同,前者不会自动使文件变得可编辑。

当您在锁定某项的工作区中签入挂起的更改时,Team Foundation 会自动取消该项的锁定。如果使用撤消命令撤消对文件的挂起的更改,也会释放锁。

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

一次只能有一个用户持有对特定文件或文件夹的锁定。可以通过 Status 命令 了解在 Team Foundation 版本控制 服务器中锁定了哪些文件以及这些文件是由谁锁定的。

可以作为锁定操作本身或其他若干操作(包括重命名、签出、删除、取消删除、合并、分支及添加到源代码管理)的一部分放置锁。作为添加到源代码管理或分支操作的一部分锁定某一项时,Team Foundation 会将该锁定放在将在其中创建新项的服务器路径中。这样可防止其他用户将文件添加或分支到同一位置。在使用重命名命令锁定某一项时,将同时锁定旧的和新的服务器路径。

取消锁定项

可以通过使用取消锁定命令显式取消锁定某一项,或者在签入过程中隐式取消锁定。在签入对锁定项的挂起的更改时,Team Foundation 会移除所有锁。

说明:

默认情况下,只将 UnlockOther 权限授予管理员。如果您具有 UnlockOther 权限,可以使用 Lock 命令 从其他用户的工作区中的项移除锁定。

请参见

任务

如何:查看其他工作区中的挂起的更改

概念

使用版本控制工作区

其他资源

使用版本控制锁

解决文件夹区别和文件冲突(Team Foundation 版本控制)