一、搭建过程:

1.使用YUM安装subversion软件,使用svn客户端工具连接svnserver服务器并测试版本控制软件。

1)YUM安装subversion软件

yum -y install subversion

2) 创建版本库

mkdir /var/svn/

svnadmin create /var/svn/project

ls /var/svn/project/

   conf/ db/ format hooks/ locks/ README.txt

3)本地导入初始化数据

cd /usr/lib/systemd/system/

svn import . file:///var/svn/project/ -m "Init Data"

4)修改配置文件,创建账户与密码

vim /var/svn/project/conf/svnserve.conf

  1. [general]
  2. ### These options control access to the repository for unauthenticated
  3. ### and authenticated users. Valid values are "write", "read",
  4. ### and "none". The sample settings below are the defaults.
  5. anon-access = none
  6. //19行,匿名无任何权限
  7. auth-access = write
  8. //20行,有效账户可写
  9. password-db = passwd
  10. //27行,密码文件
  11. authz-db = authz
  12. //34行,ACL访问控制列表文件

vim /var/svn/project/conf/passwd

  1. [users]
  2. harry = 123456
  3. //用户名和密码
  4. tom = 123456
  5. //用户名和密码

cat /var/svn/project/conf/authz

  1. [/]                                //定义ACL访问控制
  2. harry = rw                        //用户对项目根路径可读可写
  3. tom = rw

5)启动服务

svnserve -d -r /var/svn/project

netstat -nutlp |grep svnserve

   tcp 0 0 0.0.0.0:3690    0.0.0.0:*    LISTEN 4043/svnserve

2、客户端测试(192.168.2.200)

1)将服务器上的代码下载到本地

cd /tmp

svn --username harry --password 123456 co svn://192.168.2.100/ code

cd /tmp/code

vim user.slice

svn ci -m "modify user"        //将本地修改的数据同步到服务器

svn info     svn://192.168.2.100    //查看版本仓库基本信息

svn log     svn://192.168.2.100    //查看版本仓库的日志

echo "test" > test.sh        //本地新建一个文件

svn ci -m "new file"            //提交失败,该文件不被svn管理

svn add test.sh                //将文件或目录加入版本控制

svn ci -m "new file"            //再次提交,成功

svn mkdir subdir                //创建子目录

svn rm timers.target            //使用svn删除文件

svn ci -m "xxx"                //提交一次代码

vim umount.target            //任意修改本地的一个文件

svn diff                     //查看所有文件的差异

svn diff umount.target        //仅查看某一个文件的差异

svn cat svn://192.168.2.100/reboot.target    //查看服务器文件的内容

sed -i 'd' tmp.mount   //删除文件所有内容,但未提交

svn revert tmp.mount  //还原tmp.mount文件

rm -rf *.target  //任意删除若干文件

svn update   //还原

sed -i '1a #test###' tuned.service   //修改本地副本中的代码文件

svn ci -m "xxx"   //提交代码

svn merge -r7:2    tuned.service   //将文件从版本7还原到版本2

【注意:其他命令,可以man帮助查询】

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐