mac自带了服务端和客户端,配置即可使用
创建svn 存放处
svnadmin create /Users/svn/repository (可以先用sudo创建文件夹)
配置svn用户权限/Users/svn/repository/conf/目录下存在3个文件:authz、passwd、svnserve.conf
修改authz:
harry_and_sally = harry,sally
# [/foo/bar]
[/]
harry = rw
# &joe = r
* =
修改passwd:
harry = 123456
sally = 123456
修改svnserve.conf:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
启动服务器
svnserve -d -r /Users/svn/repository
没有任何提示就说明启动成功了。
迁出项目
svn checkout svn:
//127
.0.0.1
/svn/repository/demo
--username=harry --password=123456
svn 帮助
svn commit -h 或 svn help ci
svn常用命令
1、checkout
svn checkout svn地址,简写: svn co svn地址
2、添加文件
svn add test.txt 添加单一文件
svn add *.* 添加所有文件
svn add *.php 添加所有后缀为php的文件
3、提交文件
svn ci -m “描述(可留空)” 文件名 提交单一文件
svn ci -m “描述(可留空)” 提交所有文件
4、删除文件
svn delete 文件名
简写:svn (del, remove, rm)
5、加锁/解锁
svn lock -m “LockMessage“ [--force] PATH
svn unlock -m “LockMessage“ [--force] PATH
6、svn update,简写 svn up
svn update 更新所有文件
svn update -r 200 test.php (将版本库中的文件test.php还原到版本200)
svn update test.php (更新单一文件,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)
7、查看文件详细信息
svn info 文件名
8、查看日志
svn log 文件名
9、svn status [path]其字符的含义如下:
简写:svn st
‘ ‘ no modifications. 没有改动
‘A’ Added. 新增加的项目
‘C’ Conflicted. 项目内容与更新得到的数据冲突了
‘D’ Deleted. 要删除的项目
‘I’ Ignored. 已忽略
‘M’ Modified. 内容有改动
‘R’ Replaced. 在svn仓库中是一个目录, 在本地是一个同名的文件. 反之亦然.
‘X’ 项目未版本化, 与外部连接相关
‘?’ 未版本化的文件
‘!’ 项目丢失, 或者说目录不完整
‘~’ 本地有一个未版本化的项目, 在svn仓库里有一个同名项目
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之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)