更新
當您在工作台中處理某個專案時,
您團隊的其他成員可能正在確定變更至儲存庫中該專案的副本。
如果要取得這些變更,您可以「更新」工作台來符合分支的狀態。您會看到的變更將會是您的工作台專案被配置為要共用的分支所特有的。您可控制您選擇更新的時間。
您可以從兩個地方發出更新指令:團隊 > 更新功能表或同步化視圖。為了瞭解這兩個指令之間的差異,
請務必知道三種不同類別的送入變更。
- 非衝突變更:檔案在遠端被變更,但並未在本端被修改時發生。
- 可自動合併的衝突變更:同時在遠端和本端環境中變更 ASCII 檔(亦即,具有非確定的本端變更),
但是該項變更是在不同的行中發生。
- 非可自動合併的衝突變更:同時在遠端和本端環境中變更 ASCII 檔案的一或多個相同字行,或者變更二進位檔時發生(二進位檔案永遠都無法自動合併)。
當您選取團隊 > 更新時,
將會以上述全部三種類型的送入變更更新本端資源的內容。您可以在「更新/合併」喜好設定頁面中,指定更新行為應該是什麼。
這些選擇如下:
- 更新所有非衝突變更,再預覽其餘變更(預設值):自動合併所有非衝突的送入變更,任何其餘衝突都會顯示在「同步化」視圖(預設值)或對話框中。
您可以從「更新/合併」喜好設定頁面中,指定在哪裡顯示衝突。
- 在更新之前預覽所有送入變更:所有變更都會顯示在「同步化」視圖或對話框中(這會隨著您的設定而不同)。
之後,您便可以逐行合併每項變更,或同時更新所有非衝突變更,再處理其餘衝突。
- 絕不預覽和使用 CVS 文字標記來指出衝突:這個選項會自動合併所有變更,不需要任何使用者互動作業。
衝突的變更利用 CVS 文字標記來合併:
<<<<<<< 原始檔案修訂
[原始程式碼]
= = = = = = =
[送入的程式碼]
>>>>>>> 送入的檔案修訂
之後,您必須進入每個含有合併衝突的檔案,將檔案編輯成所需要的最終狀態。
在更新任何本端資源之前,通常最好先知道有哪些送入的變更。
這些問題由「同步化」視圖處理。
如果要在送入模式中開啟「同步化」視圖:
- 在其中一個導覽視圖中,選取要更新的資源。
- 從所選取資源的蹦現功能表中,選取團隊 > 與儲存庫同步化。「同步化」視圖將會開啟。
- 在「同步化」視圖的工具列中,按一下送入模式按鈕來過濾出您可能會有的任何修改過的工作台資源(送出變更)。
在送入模式中,您將會看到自前次更新後確認至分支的變更。視圖會指出每個送入變更的類型。
有兩個更新指令(可從視圖中的任何資源的快速功能表中存取)可用來處理不同類型的衝突:更新和置換和更新。
當您在「同步化」視圖中選取更新指令時,會處理所有已選取的送入及可自動合併的衝突變更,
但不會更新不可自動合併的衝突(任何已順利處理的檔案都會從視圖中移除)。
置換和更新指令會處理衝突,並使用遠端內容來取代本端資源。
這個「取代」行為通常不是理想的。稍後會說明替代方案。
如果要更新非衝突及可自動合併的檔案:
- 「同步化」視圖頂端的「結構比較」窗格包含具有送入變更之資源的階層。
- 選取所有衝突的檔案,再從蹦現功能表中,選取更新。
這樣會更新屬於送入變更或可自動合併衝突的已選取資源,並從視圖中移除它們。
內容不能自動合併的衝突會保留在視圖中。
如果本端「工作台」的送出變更無法與分支的送入變更自動合併,
則您可以手動方式將差異合併到「工作台」中,而不必執行置換和更新,
其步驟如下:
- 在「結構比較」窗格中,如果資源清單有衝突(用紅色箭頭表示),請開啟它(按兩下或從快速功能表中選取在比較編輯器中開啟)。
- 在比較編輯器的「文字比較」區域中,本端工作台資料在左側,儲存庫分支資料在右側。
請查驗這兩者之間的差異。
- 請使用文字比較區域來合併任何變更。您可以從檔案的儲存庫修訂將變更複製到檔案的工作台副本,
以及儲存合併的工作台檔案(使用左窗格中的蹦現功能表)。
- 將遠端變更合併到本端檔案完成之後,請在「同步化」視圖中,從蹦現功能表選取標示為合併。
這會將本端檔案標記為已更新,可讓您的變更被確認。
附註: 當您更新時,儲存庫的內容並不會變更。當您接受送入變更時,
這些變更會套用至您的工作台。儲存庫只有在您確定送出變更時才會改變。
提示:在「同步化」視圖中,選取一組送入變更的上代,會在所有適當子項上執行作業。
例如,選取最上層的資料夾,然後選取更新時,
會處理所有送入且可自動合併的衝突變更,但不處理所有其他的送入變更。
警告: 上述說明的置換並更新指令的行為僅適用於「同步化」視圖的送入模式。在視圖的送入/送出模式中,送入變更和衝突的行為相同,但這個指令會將送出變更回復成儲存庫的內容。
在送入/送出模式中使用這個指令時,請務必小心。

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

確定中
解決衝突
比較資源
版本控制生命週期:新增和忽略資源
CVS
同步化視圖