1. 程式人生 > >SVN:One or more files are in a conflicted state

SVN:One or more files are in a conflicted state

解決程式碼衝突 

如果commit時出現“You have to update your work copy first.”紅色警告,說明版本庫中的此檔案已經被其他人修改了。

請先點“ok”按鈕退出。執行update,然後再commit。  

如果修改與update得到的程式碼不衝突,則自動合併。

如果衝突(比如對同一行程式碼進行了修改),則出現”One or more files are in a conflicted state.“紅色警告,併產生幾個檔案記錄衝突。

一般情況下,我們不要直接編輯衝突檔案。而按照以下操作手工解決衝突。  

在資源管理器中,選擇commit時衝突的那個檔案,滑鼠右鍵選單選擇”Edit conficts”。

出現介面,分為”Theirs”、”Mine”和”Merged”3部分,表示”別人修改的內容”、 ”我修改的內容”和”合併後的結果”3部分。我們是要將”別

人修改的內容”和”我修改的內容”有取捨地合併起來,形成”合併後的結果”。  

合併一般分為4種情況:  

1.保留”我的修改”,捨棄”別人的修改”。滑鼠右鍵點選Mine框的相應行,點選”Use this text block”。

2.  捨棄”我的修改”,保留”別人的修改”。滑鼠右鍵點選Theirs框的相應行,點選”Use this text block”。  

3.同時保留”我的修改”和”別人的修改”,並將”我的修改” 放在前面。滑鼠右鍵點選Mine框的相應行,點選”Use text block from mine before theirs”。 

4. 同時保留”我的修改”和”別人的修改”,並將”別人的修改”放在前面。滑鼠右鍵點選Mine框的相應行,點選”Use text block from theirs before mine”。 

 合併完成,Ctrl+S存檔,退出。 

然後,在資源管理器中,選擇衝突檔案,滑鼠右鍵選單選擇”Resolved”,標記衝突已解決。系統會自動刪除因衝突而新建的檔案。

此時,就可以繼續進行commit操作了。