使用擱置集

擱置可讓您暫時捨棄一批暫止的變更,並選擇性地從工作區中移除暫止的變更。 擱置作業的產品就是「擱置集」。 擱置集中的變更可以在日後還原至您的工作區或其他使用者的工作區中。

變更集與擱置集的差異

當您在工作區中簽入一或多個暫止的變更時,Team Foundation 就會在原始檔控制伺服器中建立變更集。 變更集包括原始程式檔修訂、簽入提示、註解以及關聯工作項目的連結。 同樣地,「擱置集」則包括原始程式檔修訂、簽入提示、註解以及關聯工作項目的清單。 不過,擱置集並不包含已認可且建立版本的檔案變更集合。 擱置集和變更集都儲存在 Team Foundation 伺服器上,而且可以由任何具有充分使用權限的使用者擷取至工作區中。

變更集與擱置集的其他差異:

  • 與變更集不同的是,擱置集是沒有建立版本的實體。 如果您或其他使用者解除擱置某個擱置集所包含的項目、編輯許多檔案並重新擱置此擱置集,則 Team Foundation 就不會針對未來比較的目的建立項目的新版本,而且不會維護修訂這些項目之人員、時間或方式的記錄。 會完全取代原始的擱置集。

  • 您可以刪除擱置集,但無法刪除變更集。

  • 您可以將變更集連結至工作項目,如此當某位使用者在工作項目表單的 [連結] 索引標籤上按一下變更集連結時,此變更集就會自動擷取至目前的工作區中。 但是,擱置集不支援此功能。

  • 您可以建立並強制執行簽入原則,藉以防止或至少強烈建議使用者不要建立與已確立小組標準不符的變更集。 但是,擱置集不支援此功能。

擱置的目的

當您尚未準備或無法簽入一組暫止的變更時,請擱置這些暫止的變更。 以下是五個主要的擱置案例:

  • 中斷:當您具有尚未準備簽入的暫止變更,但需要繼續進行不同的工作時,您就可以擱置暫止的變更,以便加以捨棄。

  • 整合:當您具有尚未準備簽入的暫止變更,但需要與其他小組成員共用這些暫止變更時,您就可以擱置暫止的變更並要求您的小組成員進行解除擱置。

  • 檢閱:當您具有尚未準備簽入且必須進行程式碼檢閱的暫止變更時,您就可以擱置變更並告知擱置集的程式碼檢閱者。

  • 建置:在簽入變更之前,您可以使用組建系統確認擱置集中的變更將不會中斷定期排程的建置程序,例如夜間建置。 您可以手動佇列私人組建或自動實作閘道簽入來執行這項驗證。

  • 備份:當您具有正在進行且想要備份的工作,但是尚未準備簽入時,您就可以擱置變更,以便將這些變更保留在 Team Foundation 伺服器上。

  • 交付:當您具有正在進行的工作,但此工作將由另一位小組成員完成時,您就可以擱置變更,以便更輕易地進行交付。

建立擱置集

您可以從原始檔控制總管、[暫止的變更] 視窗或功能表,建立擱置集。 如需如何建立擱置集的詳細資訊,請參閱 擱置和解除擱置暫止的變更

解除擱置已擱置的變更

既然您可以使用 Get 命令將變更集還原至工作區中,您就必須使用 Unshelve 命令來還原擱置集。 您可以使用 [暫止的變更] 視窗中的 [解除擱置] 按鈕,將擱置集中一個、一些或所有暫止的變更還原至工作區中。 如需 [暫止的變更] 視窗的詳細資訊,請參閱 簽入暫止的變更。 當您使用 Visual Studio 來解除擱置工作區之擱置集中的所有變更時,與這些項目關聯的暫止變更資訊也會還原至 [暫止的變更] 視窗。 如需詳細資訊,請參閱 擱置和解除擱置暫止的變更

當您將擱置集解除擱置時,只要修訂不與工作區中已經暫止的變更發生衝突,Team Foundation 就會將每個擱置的修訂還原至目的工作區成為暫止的變更。

  • 編輯動作   Team Foundation 會將來源工作區版本的內容複製到目的工作區版本中,並簽出檔案以便進行編輯。

  • 刪除動作:已刪除且暫止簽入來源工作區的已擱置檔案和資料夾會在目的工作區中刪除。

  • 加入動作:已加入至原始檔控制且暫止簽入來源工作區的已擱置檔案和資料夾會加入至目的工作區。

  • 重新命名和移動動作:在來源工作區中重新命名或移動的已擱置檔案和資料夾會重新命名並移至目的工作區的新資料夾中。

    重要事項重要事項

    若要解除擱置某個項目,目的工作區中不得存在任何針對此項目的暫止修訂。

比較已擱置的檔案與其基底擱置集版本

您可以在 Visual Studio 中使用 Unshelve 命令,也可以從命令列使用 Difference 命令來比較擱置集中一個、一些或所有已擱置檔案修訂與基底擱置集版本 (項目所依據的伺服器版本)。

刪除擱置集

與永久儲存在原始檔控制伺服器中的變更集不同之處在於,您可以從伺服器中刪除擱置集。

警告

與已刪除檔案不同的是,擱置集會永久刪除而且無法從原始檔控制還原。

如需如何使用 Visual Studio 刪除擱置集的詳細資訊,請參閱 刪除擱置集。 如需使用命令列介面刪除擱置集的詳細資訊,請參閱 Shelve 命令

本章節內容

參考資料

Team Foundation 版本控制命令列參考

請參閱

工作

將組建排入佇列

概念

使用變更集

定義閘道簽入組建來驗證變更