天天看點

SVN 解決沖突

假設 A、B 兩個使用者都在版本号為 100 的時候,更新了 kingtuns.txt 這個檔案,A 使用者在修改完成之後送出 kingtuns.txt 到伺服器,

這個時候送出成功,這個時候 kingtuns.txt 檔案的版本号已經變成 101 了。同時B使用者在版本号為 100 的 kingtuns.txt 檔案上作修改,

修改完成之後送出到伺服器時,由于不是在目前最新的 101 版本上作的修改,是以導緻送出失敗。

我們已在本地檢出 runoob01 庫,下面我們将實作版本沖突的解決方法。

我們發現 HelloWorld.html 檔案存在錯誤,需要修改檔案并送出到版本庫中。

我們将 HelloWorld.html 的内容修改為 "HelloWorld! https://www.runoob.com/"。

用下面的指令檢視更改:

嘗試使用下面的指令來送出他的更改:

這時我發現送出失敗了。

因為此時,HelloWorld.html 已經被 user02 修改并送出到了倉庫。Subversion 不會允許 user01(本例使用的 svn 賬号)送出更改,因為 user02 已經修改了倉庫,是以我們的工作副本已經失效。

為了避免兩人的代碼被互相覆寫,Subversion 不允許我們進行這樣的操作。是以我們在送出更改之前必須先更新工作副本。是以使用 update 指令,如下:

這邊輸入"mc",以本地的檔案為主。你也可以使用其選項對沖突的檔案進行不同的操作。

預設是更新到最新的版本,我們也可以指定更新到哪個版本

此時工作副本是和倉庫已經同步,可以安全地送出更改了