自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SVN沖突解決方法大全

開發(fā) 項目管理
本文和大家一起來學習SVN沖突解決和winmerge使用手冊,本文介紹了幾個SVN沖突解決的方法,希望大家通過本文的學習能夠掌握,歡迎大家一起來學習。

本節(jié)向大家介紹一下SVN沖突解決和winmerge使用手冊問題,在學習SVN的過程中,難免會遇到SVN沖突問題,于是和大家分享一下,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
解決版本沖突的命令。在沖突解決之后,需要使用svnresolved來告訴subversion沖突解決,這樣才能提交更新。沖突發(fā)生時,subversion會在WorkCopy中保存所有的目標文件版本(上次更新版本、當前獲取的版本,即別人提交的版本、自己更新的版本、目標文件。假設文件名是sandwich.txt,對應的文件名分別是:sandwich.txt.r1、sandwich.txt.r2、sandwich.txt.mine、sandwich.txt)。同時在目標文件中標記來自不同用戶的更改。
解決SVN沖突的辦法:
-手動解決:沖突發(fā)生時,通過和其他用戶溝通之后,手動更新目標文件。然后執(zhí)行svnresolvedfilename來解除沖突,***提交。
-放棄自己的更新,使用別人的更新。使用***獲取的版本覆蓋目標文件,執(zhí)行svnresolvedfilename并提交。
-放棄自己的更新,使用svnrevert,然后提交。在這種方式下不需要使用svnresolved。
對于svnresolved命令需要非常小心,必須是非常確定沖突已經(jīng)解決才能使用。否則,會導致Subversion以為沖突解決,而使代碼庫不正確。
解決沖突詳細文檔:http://svnbook.subversion.org.cn/1.2/svn.tour.cycle.html#svn.tour.cycle.resolve
解決沖突(合并別人的修改)
我們可以使用svnstatus-u來預測沖突,當你運行svnupdate一些有趣的事情發(fā)生了:
$svnupdate
UINSTALL
GREADME
Cbar.c
Updatedtorevision46.
U和G沒必要關心,文件干凈的接受了版本庫的變化,文件標示為U表明本地沒有修改,文件已經(jīng)根據(jù)版本庫更新。G標示合并,標示本地已經(jīng)修改過,與版本庫沒有重迭的地方,已經(jīng)合并。
但是C表示沖突,說明服務器上的改動同你的改動沖突了,你需要自己手工去解決。當沖突發(fā)生了,有三件事可以幫助你注意到這種情況和解決問題:
Subversion打印C標記,并且標記這個文件已沖突。
如果Subversion認為這個文件是可合并的,它會置入SVN沖突標記—特殊的橫線分開沖突的“兩面”—在文件里可視化的描述重疊的部分(Subversion使用svn:mime-type屬性來決定一個文件是否可以使用上下文的,以行為基礎合并,更多信息可以看“svn:mime-type”一節(jié))。
對于每一個沖突的文件,Subversion放置三個額外的未版本化文件到你的工作拷貝:filename.mine
你更新前的文件,沒有沖突標志,只是你***更改的內(nèi)容。(如果Subversion認為這個文件不可以合并,.mine文件不會創(chuàng)建,因為它和工作文件相同。)
filename.rOLDREV這是你的做更新操作以前的BASE版本文件,就是你在上次更新之后未作更改的版本。
filename.rNEWREV這是你的Subversion客戶端從服務器剛剛收到的版本,這個文件對應版本庫的HEAD版本。
這里OLDREV是你的.svn目錄中的修訂版本號,NEWREV是版本庫中HEAD的版本號。
舉一個例子,Sally修改了sandwich.txt,Harry剛剛改變了他的本地拷貝中的這個文件并且提交到服務器,Sally在提交之前更新它的工作拷貝得到了沖突:
$svnupdate
Csandwich.txt
Updatedtorevision2.
$ls-1
sandwich.txt
sandwich.txt.mine
sandwich.txt.r1
sandwich.txt.r2
在這種情況下,Subversion不會允許你提交sandwich.txt,直到你的三個臨時文件被刪掉。
$svncommit--message"Addafewmorethings"
svn:Commitfailed(detailsfollow):
svn:Abortingcommit:'/home/sally/svn-work/sandwich.txt'remainsinconflict
如果你遇到SVN沖突,三件事你可以選擇:
“手動”合并沖突文本(檢查和修改文件中的沖突標志)。
用某一個臨時文件覆蓋你的工作文件。
運行svnrevert<filename>來放棄所有的修改。
一旦你解決了沖突,你需要通過命令svnresolved讓Subversion知道,這樣就會刪除三個臨時文件,Subversion就不會認為這個文件是在沖突狀態(tài)了。
[5]$svnresolvedsandwich.txt
Resolvedconflictedstateof'sandwich.txt'
手工合并SVN沖突
***次嘗試解決沖突讓人感覺很害怕,但經(jīng)過一點訓練,它簡單的像是騎著車子下坡。
這里一個簡單的例子,由于不良的交流,你和同事Sally,同時編輯了sandwich.txt。Sally提交了修改,當你準備更新你的版本,沖突發(fā)生了,我們不得不去修改sandwich.txt來解決這個問題。首先,看一下這個文件:
$catsandwich.txt
Toppieceofbread
Mayonnaise
Lettuce
Tomato
Provolone
<<<<<<<.mine
Salami
Mortadella
Prosciutto
=======Sauerkraut
GrilledChicken
>>>>>>>.r2
CreoleMustard
Bottompieceofbread
小于號、等于號和大于號串是沖突標記,并不是沖突的數(shù)據(jù),你一定要確定這些內(nèi)容在下次提交之前得到刪除,前兩組標志中間的內(nèi)容是你在SVN沖突區(qū)所做的修改:
<<<<<<<.mine
Salami
Mortadella
Prosciutto=======
后兩組之間的是Sally提交的修改沖突:
=======Sauerkraut
GrilledChicken
>>>>>>>.r2
通常你并不希望只是刪除SVN沖突標志和Sally的修改。

【編輯推薦】

  1. SVN沖突解決方法名師介紹
  2. 揭開SVN沖突神秘面紗
  3. ApacheSVN服務器安裝指導手冊
  4. SVN庫的目錄結構詳解
  5. SVN服務器安裝指導手冊
責任編輯:佚名
相關推薦

2010-05-27 09:56:54

SVN文件沖突

2010-05-27 09:17:48

SVN沖突

2010-05-27 10:08:39

SVN樹沖突

2009-09-02 18:54:11

脫離.NET框架

2010-06-01 16:27:21

SVN插件報錯

2013-07-24 19:15:01

Android開發(fā)學習Android Git代碼沖突解決方法

2010-05-26 11:08:33

SVN管理

2010-06-01 15:58:14

SVN錯誤

2012-09-24 09:27:52

SVN

2010-05-27 09:41:05

SVN沖突

2009-11-13 11:04:46

寬帶路由器故障

2009-11-05 15:23:30

無線網(wǎng)絡常見故障

2010-05-26 19:12:41

SVN沖突

2010-05-24 18:46:50

SVN圖標

2011-03-01 13:40:45

500 OOPS

2023-11-13 18:22:14

Docker開發(fā)

2010-05-26 17:13:54

SVN提交

2011-09-16 15:36:47

網(wǎng)絡環(huán)路

2010-07-15 14:01:12

telnet亂碼

2021-12-03 22:49:09

Windows 11Windows微軟
點贊
收藏

51CTO技術棧公眾號