linux上SVN解決衝突的辦法

來源:互聯網
上載者:User

工程師A修改了a.txt的第一行,提交了。
工程師B也修改了a.txt的第一行,然後執行svn up,這時SVN提示了:(以下,你開始扮演工程師B的角色了)
$ svn up
在 “a.txt” 中發現衝突。
選擇: (p) 延遲,(df) 顯示全部差異,(e) 編輯,
(mc) 我的版本, (tc) 他人的版本,
(s) 顯示全部選項:

我一般選擇p(延遲),即引入衝突到本地,不過不會影響到SVN伺服器端,可以放心。

OK,開始解決衝突了。

這時,會產生幾個檔案:

a.txt  a.txt.mine  a.txt.r6328  a.txt.r6336

其中a.txt中包含了工程師A、B的所有修改,以<<<<<<<、=======、>>>>>>>分隔。

a.txt.mine是工程師B的修改,也就是未update前的a.txt。

a.txt.r6328 是工程師A提交前的版本,即未導致衝突的版本。

a.txt.r6336是工程師A提交後的版本,即導致衝突的版本。

一般,查看a.txt就可以看到衝突的詳情了:

[yicheng@chengyi svntest]$ cat a.txt

<<<<<<< .mine

i also modify ,agndagnagasdg;

=======

i modify this line;

>>>>>>> .r6336

以上,<<<<<<< .mine和=======之間是工程師B(當前的“你”)修改的內容,=======與>>>>>>> .r6336之間是工程師A修改的內容。這時,最好的辦法是,叫上工程師A,你們一起確定這些修改是否都需要,是否相互相容,然後留下需要的部分,刪 除<<<<<<< .mine、=======和>>>>>>> .r6336。

然後,測試,測試!確定沒問題之後,就可以告訴SVN,你解決衝突了:

svn resolve –accept working a.txt (該命令會刪除a.txt.mine  a.txt.r6328  a.txt.r6336)

svn ci -m ’some comment’ a.txt

這裡需要注意的是,a.txt.mine  a.txt.r6328  a.txt.r6336這幾個檔案的存在代表著有衝突產生。如果不解決衝突,就手工刪除它們,SVN伺服器也會很傻的認為你解決了衝突,允許你繼續之後 的工作。但是,衝突依舊存在,你的a.txt中不但有別人的修改,還有那些討厭的<=>符號。

在衝突未解決前,試圖提交代碼是肯定會失敗的:

$ svn ci -m ”

svn: 提交失敗(細節如下):

svn: 提交終止: “/path/to/svntest/a.txt” 處於衝突狀態

在使用svn update 的時候,會出現如下一些資訊:
$ svn update
U  INSTALL
G  README
C  bar.c
Updated to revision 46.

那麼,U 開頭的資訊提示你,這個檔案在你本地沒有修改過,檔案已經根據版本庫的新版本更新了。G 開頭的資訊提示你,這個檔案在你本地已經修改過,但是和版本庫中對應的版本並沒有衝突的地方,svn已經合并更新了。而C 開頭的資訊提示你,這個檔案有點麻煩,你在本地的修改和版本庫中的版本修改的地方重疊了,也就是說,你修改了某一行,你的同事也修改了同一行。這個就需要你自己手工去解決了。當衝突發生時,要注意到有三件事情可以協助你解決問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.