分享方式:


瞭解鎖定類型

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

您可以使用 Team Foundation 版本控制 (TFVC) lock 命令暫時防止對原始檔控制伺服器中的特定檔案或資料夾進行變更。 如果您想要變更工作區中的專案,然後簽入而不強制解決任何合併衝突,這項功能會很有説明。 一次只能有一個用戶鎖定特定檔案或資料夾。 如果您想要以持續性的方式封鎖對專案的存取,您應該改用 Permission 命令

鎖定類型

Azure DevOps 提供兩種類型的鎖定: 簽入鎖定簽出鎖定

簽入鎖定

簽入鎖定的限制低於取出鎖定。 當您套用簽入鎖定時,用戶可以繼續對其他工作區中鎖定的項目進行本機變更。 但是,除非您採取下列其中一個動作來移除鎖定,否則無法簽入這些變更:

  • 從項目明確移除簽入鎖定
  • 藉由簽入檔案的變更來隱含移除鎖定

取出鎖定

在 Azure DevOps 中,簽出鎖定通常無效,因為本機工作區。 如需詳細資訊,請參閱 決定使用本機或伺服器工作區。 具體而言,簽出鎖定如下:

  • 無法強制執行,因為其他使用者可能使用本機工作區。
  • 如果您使用本機工作區,則無法使用。
  • 如果專案集合的 管理員 istrators 安全組成員已啟用小組伺服器工作區的異步簽出,則為停用。

取出鎖定可防止使用伺服器工作區的使用者簽出和變更其工作區中鎖定的專案。 您無法將簽出鎖定套用至擱置中變更的專案,且存在於您自己的任何工作區中。

鎖定的運作方式

如果您在鎖定檔案時取出檔案,則會修改其簽出記錄,以包含新的鎖定類型。 如果未取出檔案,則會將鎖定變更新增至擱置中的工作區變更集。 checkout與命令不同,lock命令不會自動讓檔案成為可編輯的。

當您簽入鎖定工作區中的擱置變更時,TFVC 會自動解除鎖定專案。 如果使用 命令復原 undo 檔案的暫止變更,也會釋放鎖定。

資料夾上的鎖定會隱含遞歸。 如果您鎖定資料夾,則不需要鎖定其所包含的檔案。 其中一個例外狀況是當資料夾具有簽入鎖定時,其限制低於簽出鎖定。 如果您想要在該資料夾中的檔案上使用取出鎖定,您必須套用該簽出鎖定。

一次只能有一個用戶鎖定特定檔案或資料夾。 您可以使用 Status 命令 來查看哪些檔案在 Azure DevOps 伺服器中鎖定,以及鎖定這些檔案的人員。

鎖定可以放置為自己的作業,或作為其他數個作業的一部分。 這些工作包括renamecheckout、、undeletedeletemergebranch、 和 add。 當您將專案鎖定為新增至原始檔控制或分支的一部分時,TFVC 會將鎖定放在新專案建立所在的伺服器路徑上。 此位置可防止其他使用者將檔案新增或分支至相同的位置。 當您使用 rename 命令鎖定專案時,舊的和新伺服器路徑都會鎖定。

解除鎖定專案

您可以使用 命令明確 unlock 解除鎖定專案,或在簽入時以隱含方式解除鎖定專案。 當您簽入鎖定項目的擱置變更時,Azure DevOps 會移除任何鎖定。

注意

根據預設, UnlockOther 許可權只會授與系統管理員。 如果您有 UnlockOther 許可權,您可以使用 Lock 命令,從其他使用者工作區中的專案移除鎖定。