SVN使用和SVN常用命令
时间:2011-01-14 来源:sgy618
SVN使用和SVN常用命令
一、创建 svn客栈
去到svn做事的根目次,(这个目次是在启动svn做事的时间指定的,启动的下令如:svnserve -d -r /usr/local/svnrepos)推行 创建 客栈下令:
svnadmin create new_project
如许在/usr/local/svnrepos/ 内里就多了一个new_project目次出来,进入new_project/conf/ 目次
vi svnserve.conf
将下面几行的解释去掉
[general]
anon-access = read #匿名的用户可读
auth_access = write #有授权的用户可写
password-db = passwd #表示svn用户的授权原料生涯在passwd文件内里
在conf/目次内里 vi passwd,添加授权原料。技俩如下:
[user]
your_name = your_password
二、导入源码
(导入源码的过程不肯定 要服从下面说的来做,关于svn目次管理 着实 可以很灵活,适宜 本身就行)
如今先预备一个临时 文件夹,用来构建客栈中的根本 目次结构:
mkdir temp
mkdir temp/trunk
mkdir temp/tags
mkdir temp/branches
这时可以将temp目次导入的客栈中:
svn import temp svn://localhost/new_project -m 'initial'
假如 new_project已经开拓到肯定 程度 ,我们只必要 将源码导入到客栈中的trunk就行了。
假设源码的根目次是~/new_project
进入~目次,把源码导入到trunk中:
svn import new_project svn://localhost/new_project/trunk -m 'initial again'
===============================================================================
1、将文件checkout到内地目次
svn checkout path(path是做事器上的目次)
譬喻:svn checkout svn://192.168.1.1/pro/domain
简写:svn co
2、往版本库中添加新的文件
svn add file
譬喻:svn add test.php(添加test.php)
svn add *.php(添加当前目次下全部的php文件)
3、将修正的文件提交到版本库
svn commit -m “LogMessage“ [-N] [–no-unlock] PATH(假如选择了维持锁,就应用 –no-unlock开关)
譬喻:svn commit -m “add test file for my test“ test.php
简写:svn ci
4、加锁/解锁
svn lock -m “LockMessage“ [–force] PATH
譬喻:svn lock -m “lock test file“ test.php
svn unlock PATH
5、更新到某个版本
svn update -r m path
譬喻:
svn update假如后头没有目次,默认将当前目次以及子目次下的全部文件都更新到最新版本。
svn update -r 200 test.php(将版本库中的文件test.php还原到版本200)
svn update test.php(更新,于版本库同步。假如在提交的时间提醒逾期的话,是由于斗嘴,必要 先update,批改文件,然后消除 svn resolved,末了再提交commit)
简写:svn up
6、查察 文件可能目次状况
1)svn status path(目次下的文件和子目次的状况,正常状况不表现)
【?:不在svn的独霸中;M:内容被批改;C:发生斗嘴;A:预定介入到版本库;K:被锁定】
2)svn status -v path(表现文件和子目次状况 )
第一列维持相同 ,第二列表现事变 版本号,第三和第四列表现末了一次批改的版本号和批改人。
注:svn status、svn diff和 svn revert这三条下令在没有网络的情况下也可以推行 的,缘故起因 是svn在内地的.svn中生涯了内地版本的原始拷贝。
简写: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‘,推举应用这种
简写:svn (del, remove, rm)
8、查察 日记
svn log path
譬喻:svn log test.php 表现这个文件的全部批改记实,及其版本号的变动
9、查察 文件具体信息
svn info path
譬喻:svn info test.php
10、比拟 区别
svn diff path(将批改的文件与根本 版本比拟 )
譬喻:svn diff test.php
svn diff -r m:n path(对版本m和版本n比拟 区别)
譬喻:svn diff -r 200:201 test.php
简写:svn di
11、将两个版本之间的区别归并到当前文件
svn merge -r m:n path
譬喻:svn merge -r 200:205 test.php(将版本200与205之间的区别归并到当前文件,但是一样平常都市发生斗嘴,必要 处理赏罚 一下)
12、SVN 赞助
svn help
svn help ci
——————————————————————————
以上是常用下令,下面写几个不常常用的
——————————————————————————
13、版本库下的文件和目次列表
svn list path
表现 path目次下的全部属于版本库的文件和目次
简写:svn ls
14、创建 纳入版本独霸下的新目次
svn mkdir: 创建 纳入版本独霸下的新目次。
用法: 1、mkdir PATH…
2、mkdir URL…
创建 版本独霸的目次。
1、每一个以事变 副本 PATH 指定的目次,都市创建 在内地端,并且 介入新增
调治 ,以待下一次的提交。
2、每个以URL指定的目次,都市透过立即 提交于客栈中创建 。
在这两个情况下,全部的中央目次都必需事先存在。
15、规复内地批改
svn revert: 恢中兴始未变化 的事变 副本文件 (规复大部份的内地批改)。revert:
用法: revert PATH…
留意 : 本子下令不会存取网络,并且 会打扫 斗嘴的状况。但是它不会规复
被删除的目次
16、代码库URL变革
svn switch (sw): 更新事变 副本至差别 的URL。
用法: 1、switch URL [PATH]
2、switch –relocate FROM TO [PATH…]
1、更新你的事变 副本,映射到一个新的URL,其行径跟“svn update”很像,也会将
做事器上文件与内地文件归并。这是将事变 副本对应到同一客栈中某个分支可能符号 的
行动 。
2、改写事变 副本的URL元数据,以回声单纯的URL上的变化 。当客栈的根URL改观
(比如 方案 名或是主机名称改观 ),但是事变 副本如故对映到同一客栈的同一目次时应用
这个下令更新事变 副本与客栈的对应相干。
17、办理斗嘴
svn resolved: 移除事变 副本的目次或文件的“斗嘴”状况。
用法: resolved PATH…
留意 : 本子下令不会依语法来办理斗嘴或是移除斗嘴符号 ;它只是移除斗嘴的
干系 文件,然后让 PATH 可以再次提交。
18、输出指定文件或URL的内容。
svn cat 方针 [@版本]…假如指定了版本,将从指定的版本起头查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体 版本号,如许输出结果是可以提交的)