解決衝突

在更新或確定時,您可能會遇到衝突。當您在本端環境修改了資源,而在儲存庫中的分支內有該資源的較新修訂時, 就會發生衝突。特別是,分支將會包含比資源的基本修訂更新的修訂。在此情況下,您可以選擇執行下列一項:

一般而言,您應採用第三個選項,也就是進行合併,因為其他兩個選項會有流失成果的問題。

以手動方式合併變更

「同步化視圖」指出那些與分支衝突的資源。一般而言,您應針對有衝突的給定資源, 將您的變更與分支的資源中的變更合併。

例如,讓我們假設您和另一位團隊成員修改了同一個 html 頁面。從「同步化」視圖中開啟這個資源會顯示本端資源和分支修訂的比較。 藉由循環及合併個別的變更,您可以針對每一個變更,決定要接受送入變更、 拒絕它,或是將它與您的本端變更合併。然後在完成合併時,儲存變更。這會以合併的結果改寫您的本端資源。之後您可以確定這項合併的資源。

要訣: 在合併變更時, 經常能夠方便區別哪些檔案已完成合併。完成檔案的合併時, 您可以從快速功能表中揀選標記為已合併。這會將檔案的狀態從處於衝突變成為送出的變更。

您可以在「同步化」視圖中合併兩個層次上的差異:

自動合併變更

也可以自動為您合併變更。以任何被標記為 ASCII 的資源而言,執行團隊 > 更新會自動將分支資源合併到您的本端資源差異中。若沒有含有衝突變更的字行,則這項作業可運作無礙。如果有這樣的字行,CVS 會將特殊的標記插入檔案,指出無法合併那些字行。

從「同步化」視圖進行更新的作法有點不同。如果發生衝突,更新只會處理內容不含衝突的檔案。 內容衝突的檔案會跳過,且會作為衝突項目保留在「同步化」視圖中。

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

相關作業
與儲存庫同步化
更新
確定中
從分支合併
比較資源
合併比較編輯器中的變更

參考資訊
www.cvshome.org:取得最新檔案
www.cvshome.org:衝突範例
比較編輯器