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 |
Team 專案集合的 URL (例如 http://myserver:8080/tfs/DefaultCollection),該集合包含您要鎖定或解除鎖定的檔案或資料夾。 |
選項 |
描述 |
---|---|
/lock |
指定鎖定類型或移除項目的鎖定。 如需詳細資訊,請參閱認識鎖定類型。 鎖定選項:
|
/workspace |
指定另一個要在其中套用鎖定的工作區名稱。 根據預設,會在目前使用的工作區中套用鎖定。 |
/login |
指定使用者名稱和密碼,以便透過 Visual Studio Team Foundation Server 驗證使用者。 |
/collection |
指定 Team 專案集合。 |
備註
您可以使用鎖定命令暫時凍結項目的 Team Foundation 版本控制伺服器版本,如此就可以簽入暫止的變更,而不必解決任何合併衝突。 如果想要永久避免存取 Team Foundation 版本控制伺服器中的項目,應該改用 Permission 命令。
注意事項 |
---|
為了對小組組員表示尊重,如果可能,請在項目上套用鎖定時通知小組組員,說明您進行這項作業的原因,並評估您計劃何時要移除該鎖定。 |
如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令。
如何鎖定項目
鎖定項目的方法包括使用鎖定命令,或在使用數個其他的 tf 命令列公用程式命令時指定鎖定選項:
如果是加入和分支作業,鎖定會置於將建立新項目的命名空間中。 如果是重新命名時放置鎖定,則會同時套用至舊的和新的命名空間。 如需詳細資訊,請參閱 鎖定和解除鎖定資料夾或檔案。
鎖定類型
Team Foundation 提供兩種鎖定類型:checkin 和 checkout。
簽入鎖定的限制比簽出鎖定少。 在您套用簽入鎖定後,使用者可以繼續在其他工作區中對該項目進行本機變更。 這些變更無法簽入,除非您從工作區明確移除簽入鎖定。
簽出鎖定的限制比簽入鎖定多。 在您對版本控制的檔案或資料夾套用簽出鎖定後,使用者就不能簽出檔案進行編輯,也不能簽入已存在的暫止變更。 如果某項目目前有任何的暫止變更,您就無法對其取得簽出鎖定。
如需何時套用簽出鎖定以及何時套用簽入鎖定的詳細資訊,請參閱認識鎖定類型。
鎖定的運作方式
如果在已簽出的檔案上進行鎖定,該檔案的狀態就會修改為包含新的鎖定類型。 如果檔案沒有簽出,則工作區的暫止變更集中就會加入「鎖定」變更。 與 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/