Posted on 2011-04-07 10:52
幻海藍夢 閱讀(11860)
評論(0) 編輯 收藏 所屬分類:
版本管理 、
配置管理
svn代碼沖突,不能提交的解決方法
對于剛接觸svn的人來說,svn沖突后,不能提交是件讓人很郁悶的事情。最讓人郁悶的事,是代碼間的覆蓋。你把我代碼蓋了,我會很火大的。誰把誰的蓋了都不爽。
為什么會出現代碼沖突問題呢,因為不同的人,同時修改了同一個文件的同一個地方,這個時候,他提交了,你沒有提交,你就提交不了,這個時候,你要先
更新,更新就會出現代碼沖突問題。一般情況,要盡量避免多個人修改同一個文件,如果你改的文件是公用文件,這個時候,最好和大家勾通一下,大家都在改就不
好了。
下面我說一個,通用的解決沖突的辦法,還不會覆蓋代碼,以test.php為例 :
1,修改文件后提交不了,大多是因為版本不一致造成的。更新一下,不產生沖突的情況,就可以提交了。
2,更新文件,如果出現沖突的情況,打開沖突文件test.php會看到類似以下的內容
<<<<<<<<<<<<<<<
asdfadfadfadf
11111111111111
=======
asdfadfadfadf
111111111111111
222222222222
>>>>>>>>>>>>>>>>
結合別人修改的內容和自己修改的內容,然后把文件中
的<<<<<,=====,>>>>>>>這類沖突符號去掉。去掉后,還是不
能提交的,為什么?因為沖突時會產生三個文件,有這三個文件存在肯定提交不了。
客戶端用的tortoisesvn(這個估計程序員用的最多),沖突時會多產生,三個文件
test.php.mine 是沖突前自己的文件
test.php.版本號 是沖突前本地的版本文件
test.php.服務器的版本號 是沖突后服務器版本文件
提交的時候,把這三個文件刪除掉就可以提交了。
3,產生覆蓋的原因。
a),在修改沖突文件test.php時,把別人代碼都刪除掉了,只留下了自己的代碼。這樣就會產生覆蓋了。
b),把test.php.mine中的內容直接copy到test.php文件,這樣也會產生代碼覆蓋。
上面二種情況都是我親眼看到新手這樣操作的,要避免這二種操作方法。
原文:http://blog.51yip.com/server/1071.html