linux下SVN衝突的解決方法
阿新 • • 發佈:2019-02-15
衝突的發生
當有多個人使用同一分支的時候,在我 update 到 commit 之間,只要有人commit 同一份檔案,那麼我的 commit 就會出現衝突,提示 提交不成功。
此時可以選擇的做法有:
選擇: (p) 推遲,(df) 顯示全部差異,(e) 編輯,
(mc) 我的版本, (tc) 他人的版本,
(s) 顯示全部選項:
一般選擇推遲(自信的話,當然可以選擇mc),然後與其他開發人員協商解決。
衝突的解決
推遲之後,可以發現資料夾中存在的檔案為
test.php.mine test.php.r123 test.php test.php.r107
- .mine是我的修改,尚未update前的 test.php。
- .r107 是別人提交前的版本,尚未導致衝突的版本。
- .r123是別人提交後的版本,導致衝突的版本。
- test.php 包含了我和現有版本的衝突內容
在 test.php 檔案中可以看到,多了一些以<<<<<<<、=======、>>>>>>>分隔符號
- <<<<<<<.mine和=======之間是我剛剛修改的內容;
- =======與>>>>>>>.r123之間是別人修改的內容
修改內容之後,執行命令
svn resolve –-accept working test.php
此時會刪除.mine 、 .r 等檔案
然後再重新提交檔案
svn ci -m ’’