決定使用本機還是伺服器工作區

Azure Repos |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018 |TFS 2017 |TFS 2015 |VS 2017 |VS 2015 |VS 2013

當您 建立或編輯工作區時,可以指定其位置是否為 本機伺服器

何時應該使用本機工作區?

如果您的電腦和您所連接的 Azure DevOps 實例之間沒有可靠的連線,而且工作區中的專案小於100000,則會使用本機工作區。 如果您不需要做為小組的一部分,而且強烈偏好以類似 Git 的方式使用檔案系統,也可能比較適合您。

重要

當專案數目接近或超過100000時,使用本機工作區的效能可能會降低。 這是因為本機工作區會保留相同檔案的多個複本,以便在本機上啟用某些版本控制動作,因為 DevOps Server 連接無法可靠地提供。 這也表示磁片上會佔用更多空間。

我何時可能需要使用伺服器工作區?

使用本機工作區時,若未符合特定條件,請使用伺服器工作區,如果 .。。

  • 您想要在 Visual Studio 2010 或以前版本中使用工作區。

  • 您必須使用 [ 啟用簽出時取得最新版本 ] 選項。

在中斷連線的情況下在伺服器工作區中工作

如果暫時中斷與 DevOps 實例的連線,您仍然可以在伺服器工作區中工作,方法是讓解決方案「離線」。 稍後當連接可用時,您可以讓解決方案「上線」以返回連線的行為。 Visual Studio 將會偵測到中斷連線的狀況,並自動將解決方案離線,但如果您想要手動執行此動作,這些步驟都是這些步驟。

提示

如果離線工作對您很重要,您應該考慮使用本機工作區,而不是伺服器工作區,請參閱本主題稍早的 本機工作 區。

使解決方案離線

  1. 從您的本機工作資料夾開啟您要處理的方案。

    如果伺服器離線,[ 離線 ] 對話方塊隨即出現。

  2. 選擇 [確定]

將編輯儲存至方案中的檔案時,系統可能會提示您 [ 儲存 Read-Only 檔案] 對話方塊。 這是預期行為。 選擇 [ 覆寫 ] 以移除檔案中的寫入保護。 每個檔案在離線時都應該只詢問一次。

Visual Studio 不會自動將解決方案重新上線,使用者必須使用下列步驟來執行此動作。

當 DevOps 服務可供使用時,讓您的變更上線

  1. 方案總管中,開啟方案或檔案的內容功能表,然後選擇 [ 上線]。

    • 或者- 在 [檔案 ] 功能表的 [原始檔控制] 底下,選擇 [ 上線]。

    [ 上線 ] 對話方塊隨即出現,並顯示您離線所做的變更。

  2. 勾選您要簽入的每個變更的核取方塊,然後選擇 [ 上線]。

    您所做的變更會新增至 Team Foundation 版本控制作為暫止的變更。

管理小組的專案集合工作區設定

如果您是系統管理員,您可以指定 Visual Studio 為小組成員建立哪一種工作區類型:本機或伺服器。 您也可以為小組的伺服器工作區啟用非同步簽出。

  1. 在功能表列上,選擇 [小組]、[ Project 集合設定]、[原始檔控制]。

    [原始檔控制設定] 對話方塊隨即出現。

  2. 在 [工作區設定] 索引標籤上,選擇 [本機] 或 [伺服器] 選項按鈕。

  3. 您可以選取 [ 在伺服器工作區中啟用非同步簽出],以減少系統將檔案簽出至伺服器工作區的時間。 如果您選取這個選項:

    • PendChange 權限不再強制執行。

    • 簽出鎖定停用

從命令提示字元工作

問 & A

問:即使檔案已套用簽出鎖定,有人還是簽出檔案。 怎麼會發生這種情況?

答: 使用本機工作區可讓 簽出鎖定 成為不可強制的。 如果您有 足夠的許可權 ,您可以使用 [ 工作區] 命令 來查看專案集合中使用的本機工作區。

tf workspaces /format:detailed /owner:* /collection:https://YourServer/YourCollection/

問:為什麼我無法看到我的小組成員簽出檔案?

原始檔控制總管中的其他小組成員看不到使用本機工作區之小組成員的暫止變更。

問:是否可以切換我的工作區位置?

答: 是的,您可以視需要將工作區的位置從伺服器變更為本機或從本機變更至伺服器。 請參閱 建立和使用工作區

問:我可以在多個 Visual Studio 執行個體中使用相同的工作區嗎?

答:雖然 Visual Studio 不會封鎖您針對相同的工作區執行多個實例,但不支援此用法。 此外,如果您使用本機工作區,這種運作方式可能會發生問題。

問:本機工作區如何運作?

答: 本機工作區會快取每個檔案的未修改版本,讓您可以在不連接到伺服器的情況下編輯、比較及進行其他作業。