日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
SVN使用說明跟蹤介紹

本節(jié)向大家講解一下SVN使用說明方面的知識,講述svn的基本使用規(guī)則以及操作流程等主題,本節(jié)論述內容適用于1.2以后版本。下面是具體的介紹,歡迎大家一起來學習SVN使用說明。
介紹
svn屬于cs構架的源代碼管理工具,服務器保存了所有版本的代碼,每個開發(fā)人員從服務器checkout出代碼,修改代碼完成某項工作以后checkin修改的代碼,在服務器中會記錄一個新的軟件版本
一般來說一個項目會有一個獨立的代碼庫,代碼庫的建立很簡單,使用svnadmincreate命令記錄即可,svn手冊建議項目使用以下的目錄結構
project
trunk
branches
tags
trunk目錄記錄代碼的主線,branches目錄存放為了某個工作目的創(chuàng)建的分支,tags目錄記錄軟件發(fā)行的某個版本。下面我們來看一下SVN使用說明中關于SVN特點的介紹。
SVN的特點:
1.全局版本號
svn的一個代碼庫只有一個版本號,初始版本號為0,以后不管哪個目錄發(fā)生了commit,都會產生一個新的版本號,比如一開始大家可能不習慣,但是其實這樣的策略有一個好處,就是每次你在本地svnup的時候,如果發(fā)現(xiàn)了版本號增加,那么就是說別人在代碼庫上有了新的修改,你很可能需要合并這個新的修改。
2.提交是原子的
每次提交多個文件修改的記錄的時候,如果成功,都只會生成一條版本記錄,相當于完成某項功能的一個patch,如果提交不是原子的,版本管理很難實現(xiàn)。
3.分支標記都使用svncopy命令
svn的分支標志是很高效的,幾乎是立刻完成,因為svn在新的分支和標記上只是引用了原來代碼庫中的對象,這個和命令名似乎不太相符,因此大家可以放心使用svncopy命令,而不需要擔心性能上的問題
4.缺乏mergetracking,合并的版本需要自己記錄
這是頻繁合并分支的代碼樹所必需注意的,具體工作下面有一些簡要的敘述
基本工作流程
SVN使用說明中基本工作流程的介紹。下面使用一個本地的代碼庫示例日常的svn使用流程:
首先我們在本地建議一個庫,訪問本地的庫無須用戶驗證
mkdir~/expe
cd~/expe
svnadmincreaterepos
在~/expe/repos建立了代碼庫
首先建立代碼庫的的基本目錄結構
mkdirworking_copy
cdworking_copy
mkdirtrunkbranchestags
把干凈的純代碼等需要版本控制的文件拷貝到trunk目錄
svnimport.file:///home/kkmao/expe/repos-m"initimport"
這時代碼庫中的就包含了本地的目錄結構,以及trunk下面的代碼了
把本地的內容刪掉,checkout出svn的一個版本出來,為什么本地的沒用了呢,這是因為本地的內容里面沒有.svn的目錄,因此不是一個有效的workingcopy,需要svncheckout出一個有效的版本。svncofile:///home/kkmao/expe/repos/trunk.注:svnco是(svncheckout的簡寫)

現(xiàn)在你已經建立好了一個可以試驗的workingcopy和庫了,每個本地目錄都會有一個.svn目錄,該目錄包含了完整的某一個版本的代碼樹,任何本地的修改都可以svndiff查看,該命令直接跟本地的這個cache進行比較,不會發(fā)生對庫的訪問,提高效率。SVN使用說明中svninfo可以看到你的本地和哪個庫相連以及當前版本路徑:.
地址(URL):file:///home/kkmao/expe/repos/trunk
檔案庫UUID:1d2627a1-0526-0410-8f90-b8b4839c1c87
修訂版:1
節(jié)點種類:目錄
調度:正常
***修改的作者:kkmao
***修改的修訂版:1
***修改的時間:2007-01-0210:38:59+0800(二,021月2007)
我隨便做了兩個文件,準備加到庫里面,作為本地修改的一個示例:

 
 
 
  1. kkmao@Loongson:~/expe/workingcopy$cathello
  2. helloword.
  3. Iamkkmao,whoareyou.
  4. kkmao@Loongson:~/expe/workingcopy$svnaddhello
  5. Ahello
  6. kkmao@Loongson:~/expe/workingcopy$catREADME
  7. whynotreadme????
  8. kkmao@Loongson:~/expe/workingcopy$svnaddREADME
  9. Ahello
  10. add

只修改本地內容,并沒有提交。這個時候我準備提交(commit)我的更改了,首先我會運行svnupdate查看別人是否對代碼進行了修改
kkmao@Loongson:~/expe/workingcopy$svnup于修訂版1。
up是update的簡寫,update的作用是把別人修改的代碼先取到本地,上面的結果是沒有人進行了修改。為什么要先up呢,這是因為如果有沖突的話,應該在本地解決沖突以后,再進行commit,事實上你可以直接svnci(commit),但是如果別人和你修改了同一個文件,svn也不會讓你成功提交,還是需要先進行本地的update。
現(xiàn)在我已經可以commit了,我先查看一下我需要commit什么,基本的規(guī)則是,patch應該一個一個的commit怎么做呢,我會先查看我本地修改了什么,使用status-u命令kkmao@Loongson:~/expe/workingcopy$svnstatus-ubr /> A0hello
A0README
狀態(tài)于修訂版:1
詳細查看一下更改的內容svndiffhello,svndiffREADME,我發(fā)現(xiàn)這兩個是無關的更改,他們屬于兩個不同的patch,應該單獨提交。因此我提交了兩次,并指明提交的文件
kkmao@Loongson:~/expe/workingcopy$svncommithello-m"addhello"
新增hello
傳輸文件數(shù)據.
提交后的修訂版為2。
kkmao@Loongson:~/expe/workingcopy$svncommitREADME-m"addREADME"
新增README
傳輸文件數(shù)據.
提交后的修訂版為3。
kkmao@Loongson:~/expe/workingcopy$
例子中的-m的內容也太過簡單,每次提交都應該有詳細的comment,特別是對bug的修復,應該詳細說明bug的產生原因,修復的道理等
從上面看到,應該勤commit,不要等到修改了一大堆文件以后,才想起來要commit。請期待下節(jié)關于SVN使用說明的介紹。


分享名稱:SVN使用說明跟蹤介紹
網址分享:http://m.5511xx.com/article/dhpcpdp.html