SVN是版本控制subversion的简称
主要功能是对文档[java,conf,shell,PPT]多人协作办公
服务端 192.168.2.100
- 安装软件
#yum -y install subversion - 创建仓科目录
#mkdir /var/svn/ //普通目录
#svnadmin create /var/svn/project //创建仓库 - 导入一些文档 配置文件 shell java或php脚本
#cd /usr/lib/systemd/system
#svn import file:///var/svn/project -m "service config file"
//将当前目录下的文档,导入到SVN仓库,-m后设置描述信息 - 查看导入的文档
#svn list file:///var/svn/project
5. 修改配置文件
#cd /var/svn/project1/conf
#vim svnserve.conf
19:anon-access = none //匿名没有权限
20:auth-access = write //认证用户可读可写
27:password-db = passwd //账户信息文件
34:authz-db = authz //权限配置文件
#vim passwd
tom = 123456 //自定义账户与密码
jerry = 123456 //自定义账户与密码
#vim authz
[/]
tom = rw
jerry = rw
#svnserve -d -r /var/svn/project/
启动服务,共享仓库,仓库目录为/var/svn/project/
启动的端口号为3690
客户端 192.168.2.200 测试:
1. 下载代码到本地副本
#mkdir /temp
#cd /temp
#svn --username tom --password 123456 co svn://192.168.2.100 code
//将服务器上的文档下载到本地code目录下
//co(checkout)下载,code目录会自动创建
#svn co svn://192.168.2.100 code
2. 本地修改代码,上传到服务器
#cd code
任意修改任意文件:
#svn ci -m "任意字符" //ci(commit)提交代码
3. 连接服务器将本地副本的数据更新
#svn update
4. 查看历史记录
#svn log svn://192.168.2.100
5. 新建文档
#echo "abc" > a.conf //普通文件
#svn add a.conf //让svn识别该文件
#svn ci -m "test" //提交修改
6. 删除文档
#svn rm usbmuxd.service
#svn cp old new
#svn mkdir test
#svn mv old new
7. 查看本地副本和服务器的差异
#svn diff //查看所有差异
#svn diff zram.service //查看某个文件的差异
8. 查看服务器上版本文档的全部内容
#svn cat svn://192.168.2.100/文件名
9. 恢复数据
1)本地修改但没有提交
#svn revert 文件名
2)本地修改,并提交了服务器(大量数据需要还原)
# cd /temp
# svn co -r2 svn://192.168.2.100 mycode //从服务器下载版本2中的所有代码
3)本地修改,并提交了服务器(个别数据需要还原)
# cd /temp/code
# svn merge -r6:1 文件名 //将某一个文件从第6个版本还原到第1个版本
10. 管理员备份仓库
#du -sh /var/svn/project1
1.备份:
#svnadmin dump /var/svn/project/ > pro.bak
2.还原数据
9#svnadmin load /var/svn/project/ < pro.bak