1. 程式人生 > >SVN沖突以及解決辦法

SVN沖突以及解決辦法

mark log TP 最新 最新版本 phone 右鍵 wid height

1.沖突原因:

假設 A、B 兩個用戶都在版本號為 100 的時候,更新了 kingtuns.txt 這個文件,A 用戶在修改完成之後提交 kingtuns.txt 到服務器, 這個時候提交成功,這個時候 kingtuns.txt 文件的版本號已經變成 101 了。

同時B用戶在版本號為 100 的 kingtuns.txt 文件上作修改, 修改完成之後提交到服務器時,由於不是在當前最新的 101 版本上作的修改,所以導致提交失敗。

2.svn中 更新,提交,與資源庫同步分別會有什麽效果

1)提交:是用本地文件覆蓋服務器的文件,只有提交會導致服務器上發生變化
2)更新:只是把服務器上最新版本下載到客戶端,規則如下:
      (1)如果你本地的某個文件沒有修改過,而服務器上的這個文件別人已經提交過新版本,那麽會用服務器上最新的文件覆蓋你本地的文件;
      (2)如果你本地的某個文件你修改過了還沒有提交,服務器端的這個文件還沒被別人改過,那麽對你本地的這個文件沒有任何影響;
      (3)如果你本地的某個文件你修改過了還沒有提交,服務器端的這個文件已經被別人改過,那麽會提示你發生沖突,會將服務器上最新版文件、你新修改的文件、發生分歧前的那個版本的文件都存放到你的本地
3)資源庫同步:就是看你本地和服務器的版本之間差異的。你直接用更新,有時會出現沖突,會幹掉自己的代碼。資源庫同步的目的就是讓你知道那個文件有沖突,然後有選擇的操作。

3沖突的解決:

  1. 右鍵項目 -> Team -> 與資源庫同步

技術分享圖片

2.在同步視圖中選擇Conflicts Mode,以便首先查看解決沖突

技術分享圖片 3.雙擊需要解決的沖突文件,這裏為Student.java,右側主顯示區會出現比較視圖。左側為本地程序,右側為svn上的最新代碼 技術分享圖片 原來字段名為email,本地將其改為emailAddress,線上代碼顯示有人將原來的email改為了phoneNumber並增加了屬性teacher 4.選中右側的兩行,點擊圖標拷貝到本地,保存 技術分享圖片
此時線上的代碼都已經拿下來了,可以繼續執行下一步。 5.右鍵沖突文件,選擇“標記為合並” 技術分享圖片 6.點擊Incoming Mode -> 右鍵項目 -> 更新(更新線上的其他無沖突的代碼) 技術分享圖片 7.點擊Outgoing Mode -> 右鍵項目 -> 提交。輸入註釋確定提交。 經驗:在提交前最好將視圖中列出的(所有修改過的)文件雙擊查看審核一邊,確保沒有錯誤或者臨時的代碼。這一步常常會檢查出問題。 技術分享圖片

SVN沖突以及解決辦法