多我的同時修改了同個文件中的同一行代碼segmentfault
沒法進行對比的二進制文件,好比圖片等svn
如上圖,test_conflict.py文件發生了衝突,而且多出了幾個文件,其中.mine是我本地修改了還沒提交的版本,.r2文件是上一個版本的文件,.r1是上上個版本的文件。工具
發生衝突時不用慌,咱們能夠輕鬆解決,選中衝突文件,右鍵以下操做this
有幾個選項咱們來看下:spa
Edit confilicts:修改衝突,能夠對衝突的行進行內容選擇,後面咱們詳細說。插件
Mark as resolved:直接標記爲已解決,這樣會刪除.mine、.r一、.r2這些文件,但這只是標記,若是你直接標記爲解決,實際上文件仍是衝突的,只是狀態修復了。blog
Resolve conflict using 'theirs':使用他的提交覆蓋個人修改來解決衝突。若是你的修改不須要提交,你能夠方便的選擇這個。教程
Resolve conflict using 'mine':使用我本地的版本覆蓋他的來解決衝突。若是對方提交的代碼沒什麼用,你能夠直接使用這個來解決。圖片
下面咱們詳細講解下Edit confilicts這個選項。ip
上圖是編輯衝突的界面,若是你的界面顯示了不少空白符號,你能夠點擊頂部的「Show Whitespaces」來隱藏。
上圖的左邊.r2展現的是上個版本的變化,右邊.mine是咱們本地修改的版本,下面是表示合併後的效果。
左上的第12行下面的綠色等號表示這行被刪除了,1三、14行前面的+號表示這兩行是新增的
右上的一樣也是刪除了一行,而後增長了第13行
下面區域的13,14行顯示的是紅色背景的問號,表示這兩行SVN不知道如何合併代碼。
假設咱們須要13行保留我爲我本地的修改,14行使用他人提交的。那麼選中右上的第13行,右鍵選擇「Use this text block」,表示使用這行的代碼;
選中左上的14行,右鍵選擇「Use this text block」。這樣就搞定了,下面區域會顯示合併後的效果
這樣下面區域的衝突行就所有解決了,點擊頂部工具欄的「Mark as resolved」標記爲已解決好衝突,或者直接ctr+s保存也會提示「Mark as resolved」菜單。
到這衝突就完美解決了。
這裏再解釋下其餘的一些菜單項:
Use this text block:使用這塊代碼爲合併後的行
Use this whole file:使用這整個文件做爲合併後的文件
Use text block from 'mine' before 'theirs':兩邊的代碼都保留,個人代碼在前面
Use text block from 'theirs' before 'mine':兩邊的代碼都保留,個人代碼在後面
最後推薦你們一個很是好用的SVN源碼託管站:SVNBucket
SVN快速上手
SVN經常使用命令
SVN鉤子解放你的雙手
SVN 和 Git 的一些誤解和真相
Mac用戶SVN圖形界面推薦
Eclipse安裝SVN插件和檢出代碼