准备两台机器:192.168.2.115 -- 服务端
192.168.2.116 -- 客户端git
[root@root-01 ~]# yum install -y subversion
建立版本库的目录: [root@root-01 ~]# mkdir -p /data/svnroot/myproject 初始化: [root@root-01 ~]# svnadmin create /data/svnroot/myproject 初始化后会生成配置文件等: [root@root-01 ~]# ls -la /data/svnroot/myproject 总用量 8 drwxr-xr-x 6 root root 86 10月 23 11:38 . drwxr-xr-x 3 root root 23 10月 23 11:34 .. drwxr-xr-x 2 root root 54 10月 23 11:38 conf drwxr-sr-x 6 root root 233 10月 23 11:38 db -r--r--r-- 1 root root 2 10月 23 11:38 format drwxr-xr-x 2 root root 231 10月 23 11:38 hooks drwxr-xr-x 2 root root 41 10月 23 11:38 locks -rw-r--r-- 1 root root 229 10月 23 11:38 README.txt 配置文件目录: [root@root-01 ~]# cd /data/svnroot/myproject/conf/ [root@root-01 conf]# ls authz passwd svnserve.conf 说明:authz 文件是用来控制权限的 passwd 文件是用来定义密码的 svnserve.conf 是仓库的配置文件
vim authz 在[groups]下面添加: Anna = user1,user2 Anna是用户组,用户组包含了两个用户(user1和user2) [/] 方括号里面的根指的是这个目录:/data/svnroot/myproject/conf/ @Anna = rw Anna用户组可读可写 * = r 除了Anna用户组,其余的可读 另外一种方式: [myproject:/] [myproject:/] 这表示一个项目,这种方式用在svnroot目录下有多个项目,也就是指定某个项目 user1 = rw
[root@root-01 conf]# vim passwd [users] # harry = harryssecret # sally = sallyssecret 添加用户名和密码: Anna = 123456 user1 = 586898 user2 = 586898 注:前面是用户名,后面是密码
vim svnserve.conf 在[general]下面添加: anon-access = none anon--匿名用户 没有任何权限 auth-access = write auth--被受权的用户 可写 password-db = passwd 指定用户密码的文件是passwd authz-db = authz 指定用户权限的文件是authz realm = /data/svnroot/myproject 表示对应哪一个项目生效
启动: [root@root-01 conf]# svnserve -d -r /data/svnroot/ 查看进程: [root@root-01 conf]# ps aux |grep svn root 3877 0.0 0.0 162188 656 ? Ss 13:48 0:00 svnserve -d -r /data/svnroot/ root 3882 0.0 0.0 112664 968 pts/0 S+ 13:57 0:00 grep --color=auto svn 查看监听端口3690: [root@root-01 conf]# netstat -nlpt |grep svn tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 3877/svnserve
说明:客户端下载subversion就可使用svn命令web
[root@root-02 ~]# yum install -y subversion
检索: [root@root-02 ~]# cd /home [root@root-02 svn]# svn checkout svn://192.168.2.115/myproject --username=user1 认证领域: <svn://192.168.2.115:3690> /data/svnroot/myproject “user1”的密码: ----------------------------------------------------------------------- 注意! 你的密码,对于认证域: <svn://192.168.2.115:3690> /data/svnroot/myproject 只能明文保存在磁盘上! 若是可能的话,请考虑配置你的系统,让 Subversion 能够保存加密后的密码。请参阅文档以得到详细信息。 你能够经过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”, 来避免再次出现此警告。 ----------------------------------------------------------------------- 保存未加密的密码(yes/no)?yes 取出版本 0。 [root@root-02 home]# ls myproject
说明:是在客户端操做vim
[root@root-02 ~]# cd /home/myproject 拷贝文件: [root@root-02 myproject]# cp /etc/favicon.png . 增长: [root@root-02 myproject]# svn add ./favicon.png A (bin) favicon.png 上传到服务端: [root@root-02 myproject]# svn commit -m "add favicon.png" 正在增长 (二进制) favicon.png 传输文件数据. 提交后的版本为 2。
服务端本地是没法显示刚客户端上传的文件: [root@root-01 ~]# cd /home/svntest/myproject [root@root-01 myproject]# ls 升级能够看到客户端上传的文件: [root@root-01 myproject]# svn up 正在升级 '.': A favicon.png 更新到版本 2。 [root@root-01 myproject]# ls favicon.png
svn官网:https://tortoisesvn.net/windows
点击DE EN ZH --> 点击下载 --> 根据系统下载32位或64位bash
点击右键,看看有没有红色框框内的两个图标,若没有的话,重启电脑服务器
说明: 红色框框内的IP地址和目录须要填写 --->点击oktcp
填写用户名和密码 -->点击ok分布式
checkout后,myproject目录就有两个文件svn
建立1.txt --> 点击右键Tortoise SVN -->点击Add -->点击SVNcommit -->会弹出一个对话框,要填写add 1.txt -->点击ok --> 再点击ok网站
查看服务端,升级后就有1.txt
[root@root-01 ~] cd /home/svntest/myproject 升级: [root@root-01 myproject]# svn up 正在升级 '.': A 1.txt 更新到版本 5。 [root@root-01 myproject]# ls 123.txt 1.txt favicon.png fstab test.txt
[root@root-01 myproject]# vim 11.txt [root@root-01 myproject]# svn add 11.txt A 11.txt [root@root-01 myproject]# svn commit -m "add 11.txt" 正在增长 11.txt 传输文件数据. 提交后的版本为 6。