1. SVN介紹
SVN全名Subversion谎替,即版本控制系統(tǒng)扼睬。SVN與CVS一樣逮栅,是一個跨平臺的軟件,支持大多數(shù)常見的操作系統(tǒng)窗宇。作為一個開源的版本控制系統(tǒng),Subversion管理著隨時間改變的數(shù)據(jù)措伐。這些數(shù)據(jù)放置在一個中央資料檔案庫(repository)中。這個檔案庫很像一個普通的文件服務(wù)器,不過它會記住每一次文件的變動军俊。這樣你就可以把檔案恢復(fù)到舊的版本,或是瀏覽文件的變動歷史侥加。Subversion是一個通用的系統(tǒng),可用來管理任何類型的文件,其中包括了程序源碼。
2. SVN安裝
yum install subversion
3. SVN使用
3.1 將文件checkout到本地目錄
svn checkout svn_path local_path
//例如:
svn checkout svn://192.168.1.131/45dian/brand
//推薦添加本地目錄:
svn checkout svn://192.168.1.131/45dian/brand ./brand/
//簡寫
svn co
3.2 往版本庫添加新的文件
svn add file
//例如(添加test.php):
svn add test.php
//添加當(dāng)前目錄下所有的php文件
svn add *.php
//添加user目錄(同時將目錄下所有內(nèi)容(遞歸)添加)
svn add user
3.3 將改動的文件提交到版本庫
svn commit -m '注釋內(nèi)容' [-N] [--no-unlock] PATH
//簡寫
svn ci
//提交文件夾及目錄
svn ci -m '添加新文件' test.php
svn ci -m '添加新目錄(遞歸)' user
3.4 加鎖/解鎖
svn lock -m '加鎖注釋內(nèi)容' [--force] PATH
//例如:
svn lock -m "鎖定文件" test.php
//解鎖內(nèi)容
svn unlock PATH
3.5 更新版本
在修改文件之前粪躬,一定要先更新版本庫担败,再修改文件,然后提交镰官。
如果提交的時候提示過期提前,是因為沖突,需要先update泳唠,修改文件狈网,然后清楚 svn resolved ,最后再提交commit。
svn update -r m PATH
//更新到最新版本:
svn update
//將文件還原到歷史版本200
svn -r 200 test.php
//把test.php 更新到最新版本
svn update test.php
//簡寫
svn up
3.6 查看文件或目錄狀態(tài)
svn status PATH
//顯示文件及子目錄的狀態(tài)孙援,正常不顯示
// ? 不在svn的控制中
// M 內(nèi)容被修改
// C 發(fā)生沖突
// A 預(yù)訂加入到版本庫
// K 被鎖定
svn status -v PATH
//例如:
svn status
svn status -v
//簡寫
svn st
3.7 刪除文件
svn delete PATH -m '注釋內(nèi)容'
//例如:
svn delete svn://192.168.1.133/45dian/brand/test.php -m '刪除svn中文件'
//或者(推薦使用)
svn delete test.php
svn ci -m '提交刪除的文件'
//簡寫
svn (del,remove,rm)
3.8 查看日志
svn log PATH
//例如:
//顯示這個文件的修改記錄害淤,及版本號的變化
svn log
svn log test.php
3.9 查看文件詳細(xì)信息
svn info PATH
//例如:
//顯示當(dāng)前目錄的信息
svn info
//顯示test.php文件信息
svn info test.php
3.10 比較文件及目錄的差異
svn diff PATH
//將修改的文件與倉庫中最新版本比較
svn diff test.php
//版本之間對比
svn diff -r m:n PATH
//版本m與版本n比較差異
svn diff -r 200:201 test.php
3.11 將兩個版本之間的差異合并到當(dāng)前文件
//將m版本和n版本合并到當(dāng)前文件
svn merge -r m:n path
//例如
svn merge -r 200:201 test.php
//但是一般都會產(chǎn)生沖突,需要處理一下
3.12 SVN 幫助
svn help
svn help ci
3.13 在版本倉庫中添加文件夾
//在svn版本倉庫中添加文件夾
svn mkdir PATH
//等價于
mkdir work
svn add work -m '添加文件夾'
3.14 代碼庫URL變更
svn switch (sw): 更新工作副本至不同的URL拓售。
用法:
1、switch URL [PATH]
2镶奉、switch –relocate FROM TO [PATH...]
1础淤、更新你的工作副本,映射到一個新的URL哨苛,其行為跟“svn update”很像鸽凶,也會將
服務(wù)器上文件與本地文件合并。這是將工作副本對應(yīng)到同一倉庫中某個分支或者標(biāo)記的
方法建峭。
2玻侥、改寫工作副本的URL元數(shù)據(jù),以反映單純的URL上的改變亿蒸。當(dāng)倉庫的根URL變動
(比如方案名或是主機名稱變動)凑兰,但是工作副本仍舊對映到同一倉庫的同一目錄時使用
這個命令更新工作副本與倉庫的對應(yīng)關(guān)系。
3.15 解決沖突
svn resolved: 移除工作副本的目錄或文件的“沖突”狀態(tài)边锁。
用法: resolved PATH…
注意: 本子命令不會依語法來解決沖突或是移除沖突標(biāo)記姑食;它只是移除沖突的
相關(guān)文件,然后讓 PATH 可以再次提交茅坛。