日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

linux svn使用

 百草園404 2015-05-07

     SVN是一種版本管理系統(tǒng),前身是CVS,是開(kāi)源軟件的基石。即使在溝通充分的情況下,多人維護(hù)同一份源代碼的一定也會(huì)出現(xiàn)混亂的情況,版本管理系統(tǒng)就是為了解決這些問(wèn)題。


SVN中的一些概念 : 
a. repository(源代碼庫(kù)) 
   源代碼統(tǒng)一存放的地方。 
b. Checkout (提?。?nbsp;
   當(dāng)你手上沒(méi)有源代碼的時(shí)候,你需要從repository checkout一份。 
c. Commit (提交) 
   當(dāng)你已經(jīng)修改了代碼,你就需要Commit到repository。 
d. Update (更新) 
    當(dāng)你已經(jīng)Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會(huì)有最新的變更。   


Centos 搭建SVN服務(wù),有效的管理代碼,以下三步可以快速搞定。

 

1、安裝          

[root@www ~]# yum install subversion 

[root@www ~]# svn -v   判斷是否安裝成功 
  svnserve, version 1.6.11 (r934486) 
出現(xiàn)類型提示,說(shuō)明安裝成功。 

有了SVN軟件后還需要建立SVN庫(kù)。 
[root@www ~]# mkdir /opt/svn/repos 
[root@www ~]# svnadmin create /opt/svn/repos 
執(zhí)行上面的命令后,自動(dòng)在repos下建立多個(gè)文件, 分別是conf, db,format,hooks, locks, README.txt。 


   

2、配置

     上面的操作很簡(jiǎn)單,幾個(gè)命令就搞定, 下面的操作也不難。

     進(jìn)入上面生成的文件夾conf下,進(jìn)行配置,   有以下幾個(gè)文件authz, passwd, svnserve.conf

     其中authz 是權(quán)限控制,可以設(shè)置哪些用戶可以訪問(wèn)哪些目錄,   passwd是設(shè)置用戶和密碼的,    svnserve是設(shè)置svn相關(guān)的操作。


 2 .1先設(shè)置passwd 
 
 [root@www ~]# vi passwd 
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用戶名=密碼

這樣我們就建立了hello用戶, 123密碼  

   2.2 再設(shè)置權(quán)限authz 
[root@www ~]# vi authz 

[/]
hello= rw

意思是hello用戶對(duì)所有的目錄有讀寫權(quán)限,當(dāng)然也可以限定。
如果是自己用,就直接是讀寫吧。
 


2.3最后設(shè)定snvserv.conf 
[root@www ~]# vi snsvserv.conf 

anon-access = none # 使非授權(quán)用戶無(wú)法訪問(wèn) 
auth-access = write # 使授權(quán)用戶有寫權(quán)限 
password-db = password
#authz-db = authz   # 訪問(wèn)控制文件 
realm = /opt/svn/repos # 認(rèn)證命名空間,subversion會(huì)在認(rèn)證提示里顯示,并且作為憑證緩存的關(guān)鍵字。
采用默認(rèn)配置. 以上語(yǔ)句都必須頂格寫, 左側(cè)不能留空格, 否則會(huì)出錯(cuò).

 

好了,通過(guò)以上配置,你的svn就可以了。


3、連接

 

  [root@www ~]# svnserve -d -r /opt/svn/repos 啟動(dòng)svn:


如果已經(jīng)有svn在運(yùn)行,可以換一個(gè)端口運(yùn)行 
[root@www ~]# svnserve -d -r /opt/svn/repos --listen-port 3391 

這樣同一臺(tái)服務(wù)器可以運(yùn)行多個(gè)svnserver

好了,啟動(dòng)成功后,就可以使用了。
建議采用TortoiseSVN, 連接地址為: svn://your server address (如果指定端口需要添加端口  :端口號(hào))

連接后可以上傳本地的文件,有效的管理你的代碼。
 



svn 命令詳解


1、將文件checkout到本地目錄

svn checkout path(path是服務(wù)器上的目錄)

例如:svn checkout svn://192.168.1.1/pro/domain

簡(jiǎn)寫:svn co

2、往版本庫(kù)中添加新的文件

svn add file

例如:svn add test.php(添加test.php)

svn add *.php(添加當(dāng)前目錄下所有的php文件)

3、將改動(dòng)的文件提交到版本庫(kù)

svn commit -m “LogMessage“ [-N] [--no-unlock] PATH(如果選擇了保持鎖,就使用–no-unlock開(kāi)關(guān))

例如:svn commit -m “add test file for my test“ test.php

簡(jiǎn)寫:svn ci

4、加鎖/解鎖

svn lock -m “LockMessage“ [--force] PATH

例如:svn lock -m “l(fā)ock test file“ test.php

svn unlock PATH

5、更新到某個(gè)版本

svn update -r m path

例如:

svn update如果后面沒(méi)有目錄,默認(rèn)將當(dāng)前目錄以及子目錄下的所有文件都更新到最新版本。

svn update -r 200 test.php(將版本庫(kù)中的文件test.php還原到版本200)

svn update test.php(更新,于版本庫(kù)同步。如果在提交的時(shí)候提示過(guò)期的話,是因?yàn)闆_突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)

簡(jiǎn)寫:svn up

6、查看文件或者目錄狀態(tài)

1)svn status path(目錄下的文件和子目錄的狀態(tài),正常狀態(tài)不顯示)

【?:不在svn的控制中;M:內(nèi)容被修改;C:發(fā)生沖突;A:預(yù)定加入到版本庫(kù);K:被鎖定】

2)svn status -v path(顯示文件和子目錄狀態(tài))

第一列保持相同,第二列顯示工作版本號(hào),第三和第四列顯示最后一次修改的版本號(hào)和修改人。

注:svn status、svn diff和 svn revert這三條命令在沒(méi)有網(wǎng)絡(luò)的情況下也可以執(zhí)行的,原因是svn在本地的.svn中保留了本地版本的原始拷貝。

簡(jiǎn)寫:svn st

7、刪除文件

svn delete path -m “delete test fle“

例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete test file”

或者直接svn delete test.php 然后再svn ci -m ‘delete test file‘,推薦使用這種

簡(jiǎn)寫:svn (del, remove, rm)

8、查看日志

svn log path

例如:svn log test.php 顯示這個(gè)文件的所有修改記錄,及其版本號(hào)的變化

9、查看文件詳細(xì)信息

svn info path

例如:svn info test.php

10、比較差異

svn diff path(將修改的文件與基礎(chǔ)版本比較)

例如:svn diff test.php

svn diff -r m:n path(對(duì)版本m和版本n比較差異)

例如:svn diff -r 200:201 test.php

簡(jiǎn)寫:svn di

11、將兩個(gè)版本之間的差異合并到當(dāng)前文件

svn merge -r m:n path

例如:svn merge -r 200:205 test.php(將版本200與205之間的差異合并到當(dāng)前文件,但是一般都會(huì)產(chǎn)生沖突,需要處理一下)

12、SVN 幫助

svn help

svn help ci

13、版本庫(kù)下的文件和目錄列表

svn list path

顯示path目錄下的所有屬于版本庫(kù)的文件和目錄

簡(jiǎn)寫:svn ls

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多