更新

當您在工作台中處理某個專案時, 您團隊的其他成員可能正在確定變更至儲存庫中該專案的副本。 如果要取得這些變更,您可以「更新」工作台來符合分支的狀態。您會看到的變更將會是您的工作台專案被配置為要共用的分支所特有的。您可控制您選擇更新的時間。

您可以從兩個地方發出更新指令:團隊 > 更新功能表或同步化視圖。為了瞭解這兩個指令之間的差異, 請務必知道三種不同類別的送入變更。

當您選取團隊 > 更新時, 將會以上述全部三種類型的送入變更更新本端資源的內容。如果是非衝突和可自動合併的衝突, 則不需要其他的動作(就可自動合併的衝突而言,變更的本端資源會移至字首為 ".#" 的檔案, 以免使用者不想要自動合併)。然而,如果是非可自動合併的衝突, 會使用特殊的 CVS 特定標記文字(針對 ASCII 檔案)將衝突合併到本端資源中, 或是將變更的本端資源移至字首為 ".#" 的檔案(針對二進位檔案)。這符合 CVS 指令行行為,但是在與 Eclipse 自動建置機制結合時可能會有問題。此外,在更新任何本端資源之前,最好先知道有什麼送入變更。這些問題由「同步化」視圖處理。

如果要在送入模式中開啟「同步化」視圖:

  1. 在其中一個導覽視圖中,選取要更新的資源。
  2. 從所選取資源的蹦現功能表中,選取團隊 > 與儲存庫同步化。「同步化」視圖將會開啟。
  3. 在「同步化」視圖的工具列中,按一下送入模式按鈕來過濾出您可能會有的任何修改過的工作台資源(送出變更)。

在送入模式中,您將會看到自前次更新後確認至分支的變更。視圖會指出每個送入變更的類型。 有兩個更新指令(可從視圖中的任何資源的快速功能表中存取)可用來處理不同類型的衝突:更新置換和更新。 當您在「同步化」視圖中選取更新指令時,會處理所有已選取的送入及可自動合併的衝突變更, 但不會更新不可自動合併的衝突(任何已順利處理的檔案都會從視圖中移除)。 置換和更新指令會處理衝突,並使用遠端內容來取代本端資源。 這個「取代」行為通常不是理想的。稍後會說明替代方案。

如果要更新非衝突及可自動合併的檔案:

  1. 「同步化」視圖頂端的「結構比較」窗格包含具有送入變更之資源的階層。
  2. 選取所有衝突的檔案,再從蹦現功能表中,選取更新。 這樣會更新屬於送入變更或可自動合併衝突的已選取資源,並從視圖中移除它們。 內容不能自動合併的衝突會保留在視圖中。

如果本端「工作台」的送出變更無法與分支的送入變更自動合併, 則您可以手動方式將差異合併到「工作台」中,而不必執行置換和更新, 其步驟如下:

  1. 在「結構比較」窗格中,如果資源清單有衝突(用紅色箭頭表示),請開啟它(按兩下或從快速功能表中選取在比較編輯器中開啟)。
  2. 在比較編輯器的「文字比較」區域中,本端工作台資料在左側,儲存庫分支資料在右側。 請查驗這兩者之間的差異。
  3. 請使用文字比較區域來合併任何變更。您可以從檔案的儲存庫修訂將變更複製到檔案的工作台副本, 以及儲存合併的工作台檔案(使用左窗格中的蹦現功能表)。
  4. 將遠端變更合併到本端檔案完成之後,請在「同步化」視圖中,從蹦現功能表選取標示為合併。 這會將本端檔案標記為已更新,可讓您的變更被確認。

附註: 當您更新時,儲存庫的內容並不會變更。當您接受送入變更時, 這些變更會套用至您的工作台。儲存庫只有在您確定送出變更時才會改變。

要訣:在「同步化」視圖中,選取一組送入變更的上代,會在所有適當子項上執行作業。 例如,選取最上層的資料夾,然後選取更新時, 會處理所有送入且可自動合併的衝突變更,但不處理所有其他的送入變更。

警告: 上述說明的置換並更新指令的行為僅適用於「同步化」視圖的送入模式。在視圖的送入/送出模式中,送入變更和衝突的行為相同,但這個指令會將送出變更回復成儲存庫的內容。 在送入/送出模式中使用這個指令時,請務必小心。

相關概念
使用 CVS 的團隊程式設計
與 CVS 儲存庫同步化

相關作業
確定中
解決衝突
比較資源
版本控制生命週期:新增和忽略資源

相關參照
CVS
同步化視圖