新聞中心
本節(jié)向大家介紹一下Svn import子命令使用情況,即Svn如何使用import目錄作為工作拷貝,主要包括前奏,需求分析和解決方案等內(nèi)容,在這里拿出來和大家分享一下,希望對(duì)大家有用。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、柏鄉(xiāng)網(wǎng)絡(luò)推廣、重慶小程序開發(fā)公司、柏鄉(xiāng)網(wǎng)絡(luò)營(yíng)銷、柏鄉(xiāng)企業(yè)策劃、柏鄉(xiāng)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供柏鄉(xiāng)建站搭建服務(wù),24小時(shí)服務(wù)熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com
前奏
svn作為一款極其優(yōu)秀的開源版本控制系統(tǒng),應(yīng)用廣泛,從組織到個(gè)人遍及各行各業(yè)。因此學(xué)習(xí)和熟練掌握它,對(duì)提高我們?nèi)粘9ぷ餍屎蛿?shù)據(jù)安全非常重要,尤其對(duì)開發(fā)人員協(xié)同管理Project的文檔,代碼,各類圖等,能達(dá)到事半功倍的效果。不必再每天完成工作后,打包工程目錄,備份每天的版本;也不用幾個(gè)人堆在一起效率低下地手工合計(jì)代碼;也不用擔(dān)心偶爾因忘記打包,而丟失寶貴的數(shù)據(jù)資料?,F(xiàn)在筆者已經(jīng)養(yǎng)成完全使用svn管理日常的一些小項(xiàng)目,即使是個(gè)人使用,因?yàn)閷?shí)在是不想每次都打包了,然后找數(shù)據(jù)再去一堆壓縮包里去找。
svn有Win和Linux的版本,這里講的是后者,而且主要是命令行操作(不過通過命令行或者能更加理解svn的工作方式和原理),前者有烏龜這類圖形工具,雖功能不全,但操作也確實(shí)簡(jiǎn)單。
需求分析
看一下Svn import子命令需求分析,為了避免手工管理一個(gè)我們?nèi)找孀兇蟮捻?xiàng)目,于是我們選擇svn,讓程序?yàn)槲覀冏詣?dòng)控制版本并記錄下更改記錄。但每當(dāng)使用import子命令將工程導(dǎo)入到svn時(shí),我們遇到一個(gè)極其惡的問題:將本地的工程目錄全部提交上去之后,但是這個(gè)原始工程目錄卻不是工作拷貝,于是我還得把這個(gè)原始工作目錄刪掉,重新從版本庫(kù)中checkout出來一個(gè)拷貝。這太不爽了,暫且不論這個(gè)工程占多大磁盤空間,明明有這個(gè)工程,只是缺少版本控制信息,有必要就刪掉而重新檢出整個(gè)工程么。于是我在google再google,但始終沒有找到解決方法,后來了解到,svn本來就沒有考慮過這個(gè)問題,貌似就只能刪掉原始工程目錄,而重新從庫(kù)中檢出一個(gè)帶版本控制信息的一模一樣的工程。
Solution
下面我們看一下Svn import子命令的解決方案,可能是因?yàn)閭€(gè)人有某種強(qiáng)迫癥,偶還是一如繼往地尋找方法企圖解決這個(gè)問題,現(xiàn)在終于使用了一個(gè)小技巧搞定了,目前市場(chǎng)上還沒有見到過這種方法,完全自創(chuàng)哦。方法如下(依然以最經(jīng)典的helloworld工程為例):
1.cd進(jìn)入helloworld工程所在目錄
2.遞歸導(dǎo)入工程到版本庫(kù):svnimporthelloworldsvn://localhost/project-m"JustTestthisTrick."
3.執(zhí)行最關(guān)鍵的命令(參數(shù)--depth=empty是精髓,它只初始化版本控制信息,不檢出任何文件):svnco--depth=emptysvn://localhost/projecthelloworld
4.然后進(jìn)入工程目錄:cdhelloworld
5.執(zhí)行命令:svnst然后顯示所有文件前全帶?號(hào),因?yàn)榇藭r(shí)這些文件還不在版本控制管轄范圍內(nèi)。
6.因此我們將它們?nèi)考尤耄簊vnadd*現(xiàn)在所有文件前全顯示為A標(biāo)記,即為Add狀態(tài)。
7.為了與版本庫(kù)一致,執(zhí)行update命令(其實(shí)此時(shí)這些文件與現(xiàn)在版本庫(kù)中是一模一樣的,因?yàn)槲覀儾艅倓偺峤煌辏瑳]有作任何更改,此舉是為了“騙過”svn):svnup*此時(shí)更新必然會(huì)有沖突,而且還是100%,程序提示“在“xxx”中發(fā)現(xiàn)沖突。選擇:(p)推遲,(mf)全用我的,(tf)全用他人的,(h)使用幫助以得到更多選項(xiàng):”,這時(shí)我們一定要選“(mf)全用我的“,即輸入mf,否則我們前面的工作就沒有意義了。
8.這時(shí)再用如下命令:svnst,svnci
命令均無顯示,因?yàn)闊o狀態(tài)變化,現(xiàn)在這個(gè)原始工程已經(jīng)“轉(zhuǎn)變“成一個(gè)workcopy了。現(xiàn)在開始工作吧^_^。Svn import子命令的使用情況在這就介紹完了,希望對(duì)你有所幫助。
標(biāo)題名稱:專家指導(dǎo):Svn使用import作為工作拷貝
標(biāo)題鏈接:http://www.fisionsoft.com.cn/article/dghhggj.html


咨詢
建站咨詢
