Unshelve 命令
更新:2007 年 11 月
將擱置的檔案修訂、簽入提示、註解和工作項目關聯還原至目前的工作區或從伺服器移除現有的擱置集。
必要的使用權限
若要使用 unshelve 命令,您必須將 [讀取] 權限設定為 [允許],而且必須將在擱置集中之項目的 [簽出] 權限設定為 [允許]。此外,若要刪除擱置集,您必須是其擁有人或將 [管理擱置的變更] 全域權限設定為 [允許]。如需詳細資訊,請參閱 Team Foundation Server 使用權限。
tf unshelve [/move] [shelvesetname[;ownername]] itemspec
[/recursive] [/noprompt]
參數
引數 |
描述 |
---|---|
shelvesetname |
要還原的擱置集的名稱。 |
ownername |
擱置集擁有人的名稱。 |
Itemspec |
辨別要在目前工作區中解除擱置的檔案或資料夾修訂。如果未包含此參數,依預設在指定擱置集中的所有暫止變更都會解除擱置。不允許伺服器路徑。 如需 Team Foundation 如何剖析項目規格以便判斷哪些項目位於範圍內的詳細資訊,請參閱命令列選項。 |
選項 |
描述 |
---|---|
/move |
在成功完成解除擱置作業時,從 Team Foundation 伺服器刪除指定的擱置集。這個選項無法與 itemspec 合併使用。 您還可以使用 shelve 命令刪除擱置集。 |
/recursive |
如果有指定,會遞迴地進行項目規格的比對作業。 |
/noprompt |
如果有指定,不會提示您輸入。 |
備註
tf 命令列公用程式的 unshelve 命令會從 Team Foundation 伺服器中,將所有擱置的檔案修訂或所有擱置的檔案修訂的已定義子集擷取到目前的工作區。
若要解除擱置某個項目,目的工作區中不得存在任何針對此項目的暫止修訂。
當您將擱置集解除擱置時,只要修訂不與工作區中已經暫止的變更發生衝突,Team Foundation 就會將每個擱置的修訂還原至目的工作區成為暫止的變更。如需解除擱置程序期間發生哪些動作的詳細資訊,請參閱使用版本控制擱置集。
可以使用 unshelve 命令將擱置集的個別檔案修訂還原至工作區。在解除擱置之後應該執行取得動作,以協調任何在建立擱置集之後才簽入伺服器的變更。
如需如何尋找 tf 命令列公用程式的詳細資訊,請參閱 Tf 命令列公用程式命令。
回收擱置的變更
如果想要將擱置的修訂整合到目前的工作區中以進行持續的修訂,請解除擱置所要的擱置集。同樣地,最佳作法是在解除擱置後取得版本控制檔案的最新版本。
解除擱置和檢視其他使用者的程式碼
您還可以將擱置集解除擱置,以檢視來自其他使用者工作區的變更。若要針對這項原因解除擱置,有兩種選擇。
如果擱置的項目和其關聯項目尚未被修訂,或者自建立擱置集開始只做了些許修訂,則您可以從擱置集擁有人的工作區,擷取所有相關項目的基底版本。若要這樣做,請使用下列命令的特定變異:tf get * /version;Wworkspacename,其中 workspacename 是其他使用者建立擱置集的工作區名稱。
如果自建立擱置集開始已經經過許多時間,或者工作區中已經存在多個修訂,則會從伺服器擷取所有相關項目的版本當做建立擱置集時其日期與時間的版本。
您可以藉由將使用者名稱附加到擱置集名稱,解除擱置其他使用者的擱置變更。不過,如果您具有 AdminShelvedChangesets 使用權限,則只能從 Team Foundation Server 移除由其他使用者所建立的擱置集。
如果嘗試解除擱置在目的工作區中有暫止變更存在的項目,Team Foundation 不會合併項目之間的差異,也不會將修訂擷取到工作區。
可以藉由使用 tf shelve /delete 刪除擱置集。如需詳細資訊,請參閱 Shelve 命令。若要在解除擱置整個擱置集之後能夠自動刪除擱置集,請使用 tf unshelve /move。
範例
下列範例會開啟 [解除擱置] 對話方塊,使您可以在目前的工作區中尋找擱置集並將其解除擱置。還可以在對話方塊中,選擇在完成解除擱置作業時刪除擱置集。
c:\>tf unshelve
下列範例將擱置集 buddytest_1256 解除擱置至目前的工作區,並將其從 Team Foundation Server 移除。
c:\>tf unshelve /move buddytest_1256