謝爾韋指揮(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\username 或 username 。 |
<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