Shelve 命令

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

必要的使用權限

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

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 如何剖析項目規格以判斷哪些項目位於範圍內的詳細資訊,請參閱命令列選項

shelvesetname

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

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

owner

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

username

提供 /login 選項的值。 您可以將使用者名稱值指定成網域\ 使用者名稱或使用者名稱的格式。

TeamProjectCollectionUrl

Team 專案集合的 URL (例如 http://myserver:8080/tfs/DefaultCollection/),該集合包含您要擱置的檔案或資料夾。

選項

描述

/move

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

/replace

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

/delete

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

/comment

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

/recursive

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

/noprompt

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

/validate

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

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

/login

指定使用者名稱和密碼,以便透過 Team Foundation Server 驗證使用者。

/collection

指定 Team 專案集合。

備註

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

請參閱

工作

擱置和解除擱置暫止的變更

參考

命令列語法 (版本控制)

Checkin 命令

Changeset 命令

Unshelve 命令

概念

使用擱置集

暫止的變更

其他資源

Tf 命令列公用程式命令