Shelve 命令

更新:2007 年 11 月

會在 Team Foundation Server 上儲存一組暫止變更、暫止簽入提示、註解以及關聯的工作項目清單,而不需實際將其簽入至版本控制伺服器。

必要的使用權限

若要使用 shelve 命令,您必須是擱置集的擁有人,或者將 [管理擱置的變更] 權限設定為 [允許]。如需詳細資訊,請參閱 Team Foundation Server 使用權限

tf shelve  [/replace] [/comment:("comment"|@commentfile)] [shelvesetname[;owner] [/validate]

tf shelve [/move] [/replace] [/comment:("comment"|@commentfile)] 
[/recursive] shelvesetname[;owner] itemspec [/validate]

tf shelve /delete [/server:servername] shelvesetname[;owner] [/validate]

參數

引數

描述

commentfile

指定檔案的檔案系統路徑,將從該檔案中讀取擱置集的註解。

comment

指定擱置集的註解。

servername

/server 選項的使用者提供值。

itemspec

辨別要擱置的檔案或資料夾。依照預設,如果未指定這個參數,目前工作區中的所有暫止變更都會擱置。如需 Team Foundation 如何剖析項目規格以判斷哪些項目位於範圍內的詳細資訊,請參閱命令列選項

shelvesetname

指定要依其從 Team Foundation 伺服器擷取擱置集的名稱。您只有在也指定了 /replace 時,才可以指定現有的 shelvesetname 和 owner 組合。

同時也必須為這個參數提供值。

owner

依照使用者名稱辨別擱置集目前的或所要的擁有人。依照預設,如果沒有指定,則擱置集的擁有權會指派給目前的使用者。

選項

描述

/move

在擱置作業成功後從工作區移除暫止變更。

/replace

使用與您指定之具有相同名稱和擁有人的擱置集取代現有的擱置集。

/delete

刪除指定的擱置集。只有 /server 選項可以與這個選項搭配使用。如果沒有包含 /noprompt 選項,則在指定了 /delete 選項時會出現確認訊息。

/comment

加入描述已擱置變更的指定註解。

/recursive

如果提供的項目規格是資料夾,則擱置指定擱置集資料夾中的所有項目、其子資料夾和其中的所有項目。

/server

指定要在其中建立、修改或刪除指定擱置集的 Team Foundation 版本控制伺服器。

/noprompt

抑制任何要求您輸入的提示。

/validate

只有在未與 /noprompt 搭配時才有效。

這個選項會在 [擱置 - 原始程式檔] 對話方塊開啟時選取驗證核取方塊。當驗證核取方塊選取時,對話方塊會評估簽入原則,並驗證已填入必要的簽入提示。在由其他人發出變更以供檢閱以及簽入時,這個選項很有用。

備註

tf 命令列公用程式的 shelve 命令會在 Team Foundation Server 的擱置集中,備份暫止的變更、關聯的工作項目清單、進行中的簽入提示以及註解。「擱置集」(Shelveset) 與尚未認可到伺服器的變更集很類似。與變更集類似,擱置集可以由具有足夠權限的使用者從伺服器擷取到本機工作區。

擱置是簽入尚未經過足夠測試的暫止變更的一種方法。可在想要中斷工作時使用擱置:

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

  • 暫時保留一組暫止變更而不將其簽入,使您可以先處理較高優先順序的問題。在完成高優先順序的工作後,可以使用 Unshelve 命令還原已擱置的變更。

如果包含 /move 選項,shelve 命令就會將所有擱置的檔案修訂復原為「基本工作區版本」(Base Workspace Version),也就是從伺服器擷取到目前工作區的最後版本。具體來說,/move 選項可確定擱置的所有項目都會進行下列作業:

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

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

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

如果包含 /delete 選項,Team Foundation 便會從 Team Foundation 伺服器永久地移除指定的擱置集。

如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令

範例

下列範例會在 Team Foundation Server 上建立名為 Reflector_BuddyTest 的新擱置集、將擁有權指派給使用者 Hans,然後將目前工作區中的所有項目回復為最近執行 get 作業期間下載的最新版本,並設定唯讀狀態。

c:\projects> tf shelve Reflector_BuddyTest;Hans /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

請參閱

工作

HOW TO:擱置和解除擱置暫止的變更

概念

使用版本控制擱置集

暫止的變更

參考

命令列語法 (Team System)

Checkin 命令

Changeset 命令

Unshelve 命令

其他資源

Tf 命令列公用程式命令