SVN的安装和使用

1. 安装svn

1. 服务端安装和配置SVN(yt-01)

安装
[root@yt-01 ~]# yum install -y subversion

创建版本库
[root@yt-01 ~]# mkdir -p /data/svnroot/myproject

版本库初始化
root@yt-01 ~]# svnadmin create /data/svnroot/myproject
[root@yt-01 ~]# ll /data/svnroot/myproject/
总用量 8
drwxr-xr-x 2 root root 54 4月 3 11:43 conf
drwxr-sr-x 6 root root 233 4月 3 11:43 db
-r--r--r-- 1 root root 2 4月 3 11:43 format
drwxr-xr-x 2 root root 231 4月 3 11:43 hooks
drwxr-xr-x 2 root root 41 4月 3 11:43 locks
-rw-r--r-- 1 root root 229 4月 3 11:43 README.txt

进入配置文件目录:
[root@yt-01 ~]# cd /data/svnroot/myproject/conf/
[root@yt-01 conf]# ls
authz passwd svnserve.conf
#authz:控制权限
#passwd:密码文件
#svnserve.conf:仓库配置文件

配置用户及权限:
[root@yt-01 conf]# vim authz
[groups]
admins = yuntai,user1
# admin:组名
# yuntai,user1:两个用户
[/]                    // [/]:指定目录,“/”代表仓库的根目录,即/data/svnroot/myproject/
@admins = rw   //指定admins组所对应的权限
* = r                 //指定其他所有用户对应的权限
[myproject:/] 
# myproject:项目名称,该方法适合SVN有多个项目(或有多个子项目)时使用
user1 = rw

配置用户密码:
[root@yt-01 conf]# vim passwd
[users]
yuntai = 123456
user1 = 123456
#为了提高安全性,真是环境要设置复杂密码

配置仓库文件:
[root@yt-01 conf]# vim svnserve.conf
[general]
anon-access = none  
#指定匿名用户权限

auth-access = write  
#指定认证用户权限

password-db = passwd
#指定用户密码文件

authz-db = authz
#指定用户权限文件

realm = /data/svnroot/myproject
#指定对用的仓库文件(绝对路径)

启动SVN:
[root@yt-01 conf]# svnserve -d -r /data/svnroot/
# -d:表示后台运行
# -r:=restrict(限制、约束)限制只输出指定路径下的版本库

查看进程及端口:
[root@yt-01 conf]# ps aux |grep svn
root 2543 0.0 0.1 162188 656 ? Ss 19:30 0:00 svnserve -d -r /data/svnroot/
[root@yt-01 conf]# netstat -lntp |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 2543/svnserve  

2. Linux客户端上使用svn(yt-02)

安装:
[root@yt-02 ~]# yum install -y subversion

进入测试目录:
[root@yt-02 ~]# mkdir -p /home/svntest/
[root@yt-02 ~]# cd !$
cd /home/svntest/

取出代码(从客户端1):
[root@yt-02 svntest]# svn checkout svn://192.168.122.130/myproject --username=yuntai

认证领域: <svn://192.168.122.130:3690> /data/svnroot/myproject
“yuntai”的密码:
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
   <svn://192.168.122.130:3690> /data/svnroot/myproject
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?n
取出版本 0。

[root@yt-02 svntest]# ls
myproject
[root@yt-02 svntest]# ls myproject/
[root@yt-02 svntest]# ls -a
. .. myproject
[root@yt-02 svntest]# ls -a myproject/
. .. .svn

测试

客户端1项目中增加一份文件
[root@yt-02 svntest]# cd myproject/
[root@yt-02 myproject]# ls
[root@yt-02 myproject]# cp /etc/fstab ./       
[root@yt-02 myproject]# ls
fstab

客户端1上传本地文件到服务端:
[root@yt-02 myproject]# svn add ./fstab     //打上标记
A                  fstab
[root@yt-02 myproject]# svn commit -m "add fstab"     //正式上传,提交项目, -m:=mark,做标记
正在增加 fstab
传输文件数据.
提交后的版本为 1。

在服务端使用user1作为用户登录,作为客户端2,取出服务端项目文件
[root@yt-01 myproject]# mkdir /home/svntest2/
[root@yt-01 myprojec]# cd !$
cd /home/svntest2/
[root@yt-01 svntest2]# svn checkout svn://192.168.122.130/myproject --username=user1
A myproject/fstab
取出版本 1。
[root@yt-01 svntest2]# ls
myproject
[root@yt-01 svntest2]# cd myproject/
[root@yt-01 myproject]# ls
fstab
# 此时,在客户端1中提交的文件被同步到客户端2中
# 再次上传新文件后可以使用命令:svn update进行同步

客户端1:
[root@yt-02 myproject]# vim test.txt
[root@yt-02 myproject]# ls
fstab test.txt
[root@yt-02 myproject]# svn add ./test.txt
A test.txt
[root@yt-02 myproject]# svn commit -m "add test.txt"
正在增加 test.txt
传输文件数据.
提交后的版本为 2。

客户端2:
[root@yt-01 myproject]# ls
fstab
[root@yt-01 myproject]# svn update
正在升级 '.':
已还原“test.txt”
版本 2。
[root@yt-01 myproject]# ls
fstab test.txt
#注:此处update可以简写为up

客户端密码文件保存位置:
[root@yt-02 myproject]# cd /root/.subversion/auth/svn.simple
[root@yt-02 svn.simple]# ls
60b825fc1cf60a306eb7e67ad30c922d
[root@yt-02 svn.simple]# cat 60b825fc1cf60a306eb7e67ad30c922d
K 8
passtype
V 6
simple
K 8
password
V 6
123456
K 15
svn:realmstring
V 52
<svn://192.168.122.130:3690> /data/svnroot/myproject
K 8
username
V 6
yuntai
END

# 如果在某客户端删除该文件,再次使用svn update进行同步时会提示输入root用户名和密码
# 在此,直接回车,然后输入svn指定的用户和密码即可

3 SVN命令总结

# svn delete filename //在本地删除

# svn commit -m “delete filename” //在服务器上删除

# svn update //把当前目录下的文件都更新到最新版

# svn log //查看变更日志

# svn add . //添加到版本控制中心

# svn commit -m “add file” //把文件上传到服务器

# svn checkout svn://192.168.133.130/myproject --username=yuntai

3. windows客户端上使用svn

转载于:https://my.oschina.net/zhouyuntai/blog/1791169

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值