搭建
安装
1 | yum install subversion |
查看安装位置
1 | rpm -ql subversion |
配置仓库
创建svn版本库目录
1 | mkdir -p /var/svn/svnrepos |
创建版本库
1 | svnadmin create /var/svn/svnrepos |
进入conf目录
1 | authz文件是权限控制文件 |
设置帐号密码
1 | vi passwd |
- 参考
1
2
3
4
5
6
7[users]
# harry = harryssecret
# sally = sallyssecret
aa = 2350179
bb = 123456
cc = 123456
设置权限
1 | vi authz |
- 参考
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
#harry_and_sally = harry,sally
#harry_sally_and_joe = harry,sally,&joe
group1 = bb,cc
#[/foo/bar]
#harry = rw
#&joe = r
#* =
#[repository:/baz/fuz]
#@harry_and_sally = rw
#* = r
[/]
# 配置用户aa
aa=rw
w=r
[/C++]
aa=rw
[/Unity]
# 配置组group1
@group1=rw
修改svnserve.conf文件
1 | vi svnserve.conf |
日志开启
1 | cd /var/svn/svnrepos/conf |
svn控制
启动svn版本库
1 | # svnserve -d -r svn安装目录 |
关闭svn版本库
1 | ps -ef|grep svnserve |
命令
将文件checkout到本地目录
1 | svn checkout path(path是服务器上的目录) |
往版本库中添加新的文件
1 | svn add file |
将改的的文件提交到版本库
1 | svn commit -m "LogMessage" [-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关) |
加锁/解锁
1 | svn lock -m "LockMessage" [--force] PATH |
更新到某个版本
1 | svn update -r m path |
查看文件或者目录状态
1 | 1)svn status path(目录下的文件和子目录的状态,正常状态不显示) |
删除文件
1 | svn delete path -m "delete test fle" |
查看日志
1 | svn log path |
查看文件详细信息
1 | svn info path |
比较差异
1 | svn diff path(将修改的文件与基础版本比较) |
将两个版本之间的差异合并到当前文件
1 | svn merge -r m:n path |
恢复本地修改
1 | svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert: |
版本库下的文件和目录列表
1 | svn list path |
创建纳入版本控制下的新目录
1 | svn mkdir: 创建纳入版本控制下的新目录。 |
代码库URL变更
1 | svn switch (sw): 更新工作副本至不同的URL。 |
解决冲突
1 | svn resolved: 移除工作副本的目录或文件的“冲突”状态。 |
输出指定文件或URL的内容。
1 | svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。 |
SVN帮助
1 | svn help |