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操作了。