共用方式為


謝爾韋命令 (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]

參數

參數

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

言論

tf 命令行公用程式的 shelve 命令會備份擱置中的變更、相關聯的工作專案清單、進行中的簽入附註,以及 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