謝爾韋指揮(Team Foundation 版本控制)

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

Visual Studio 2019 |Visual Studio 2022

Team Foundation 版本控制 (TFVC) shelve 命令會儲存一組擱置中的變更,以及擱置的簽入筆記、批註,以及 Azure DevOps 伺服器上相關聯的工作專案清單,而不需要實際簽入。

必要條件

如果您想要使用 shelve 命令來刪除擱置集,您必須是擱置集擁有者,或者您的 管理員 擱置變更許可權必須設定為 [允許]。 如需詳細資訊,請參閱 預設 TFVC 許可權

語法

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname] [/validate][/noprompt] [/login:username,[password]]
tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] [shelvesetname] itemspec [/validate] [/noprompt] [/login:username,[password]]
tf shelve /delete shelvesetname[;owner] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]

參數

引數

Argument 說明
<commentfile> 指定檔案的文件系統路徑,應該從中讀取擱置集的批注。
<comment> 指定擱置集的批注。
<itemspec> 識別要擱置的檔案或資料夾。 根據預設,如果未指定此參數,則會擱置目前工作區中的所有暫止變更。 如需Team Foundation 如何剖析 itemspec 以判斷哪些專案在範圍內的詳細資訊,請參閱 使用選項來修改命令的運作方式。
<shelvesetname> 指定可從 Azure DevOps 伺服器擷取擱置集的名稱。 您可以指定與owner的現有組合shelvesetname,但前提是/replace也指定 。

您必須提供此參數的值。
<owner> 依使用者名稱識別擱置集的目前或預定擁有者。 根據預設,如果未指定擱置集,則目前用戶會獲指派擱置集的擁有權。
<username> 提供 選項的值 /login 。 您可以將使用者名稱值指定為 DOMAIN\usernameusername
<TeamProjectCollectionUrl> 專案集合的 URL,其中包含您要擱置的檔案或資料夾,例如 http://myserver:8080/tfs/DefaultCollection/

選項。

選項 說明
/new 每個暫止變更的選取狀態,如 Visual Studio 簽到 對話方塊中所示,批註、相關聯的工作專案、簽入附注和簽入原則覆寫原因都會儲存在開發電腦上,直到您存回變更為止。 選項 /new 會在您簽入之前清除此簽入元數據。
/move 在擱置作業成功之後,從工作區移除擱置中的變更。
/replace 將現有的擱置集取代為您指定的名稱和擁有者。
/delete 刪除指定的擱置集。 /server只有選項可以與這個選項結合。 如果您沒有包含 /noprompt 選項,則指定選項時 /delete 會出現確認訊息。
/comment 加入描述擱置變更的指定批注。
/recursive itemspec 置指定擱置集資料夾中的所有專案、其子資料夾,以及您提供的所有專案都是資料夾。
/noprompt 隱藏您輸入的任何提示。
/validate 此選項會在開啟 [擱置 - 原始程式檔] 對話框中,選取 [評估原則和簽入筆記] 複選框。 選取驗證複選框時,對話框會評估簽入原則,並確認已填入需要簽入筆記。 當變更交出以供其他人檢閱和簽入時,此選項很有用。 與 /noprompt結合時無效。
/login 指定要向 Azure DevOps Server 驗證使用者的使用者名稱和密碼。
/collection 指定專案集合。

備註

shelve命令行公用程式的命令tf會備份擱置中的變更、相關聯的工作專案清單、進行中的簽入附註,以及 Azure DevOps 伺服器上擱置集的批註。 擱置集與未認可至伺服器的變更集非常類似。 如同變更集,任何具有足夠許可權的使用者都可以從伺服器擷取擱置集到本機工作區。

擱置是檢查尚未經過充分測試之擱置變更的替代方案。 當您想要中斷工作時,請使用擱置:

  • 與另一位開發人員或測試人員共用一組本機工作檔案,而不需要簽入版本控制伺服器的變更。

  • 暫時擱置一組暫止的變更,而不需要簽入這些變更,因此您可以改為處理較高的優先順序問題。 完成高優先順序工作后,您可以使用 Unshelve 命令來還原擱置的變更

如果您包含 /move 選項, shelve 命令會將每個擱置的檔案修訂復原到 從伺服器擷取到目前工作區的最後一個版本基底工作區版本 。 具體來說,針對您擱置的所有項目, /move 選項如下:

  • 用來 Undo 復原擱置的變更。 擱置新增的檔案會從工作區中刪除。

  • 從伺服器擷取暫止版本存在之所有檔案的基底工作區版本到目前的工作區。

  • 將目前工作區中的所有項目標示為唯讀。

如果您包含 /delete 選項,TFVC 會從 Azure DevOps 伺服器永久移除指定的擱置集。

如需如何使用 tf 命令行公用程式的詳細資訊,請參閱 使用Team Foundation版本控制命令

範例

下列範例會在名為 Reflector_BuddyTest的 Azure DevOps 伺服器上建立新的擱置集,將擁有權指派給使用者 Pat、將目前工作區中的所有專案傳回上次作業期間 get 下載的最新版本,並設定唯讀狀態:

c:\projects> tf shelve Reflector_BuddyTest;Pat /move

下列範例會從伺服器刪除現有的擱置集、依該名稱建立新的擱置集 new-feature ,並保留目前工作區中的所有擱置變更:

c:\projects> tf shelve new-feature /replace

下列範例會建立名為 HelloWorld_TestMe 的擱置集,其中包含 C:\projects 工作資料夾及其子資料夾中所有.cs檔案的所有暫止變更:

c:\projects> tf shelve HelloWorld_TestMe c:\projects\*.cs /recursive

下列範例會 HelloWorld_24 刪除擱置集:

c:\projects> tf shelve HelloWorld_24 /delete