svn版本控制小白教程

介绍

svn是版本管理工具,类似于github,可以管理项目的源代码。通常公司项目需要各个部门间的协同合作,由此多人集中式管理的软件很有必要。svn是客户端和服务器的模式,项目人员可以通过svn客户端从svn服务器下载代码到本地,修改后再上传。每次的提交版本都会有记录,便于回滚。

安装部署

环境:centos7

yum install -y subversion
#创建项目版本库
mkdir -p /data/svn/myproject
 svnadmin create /data/svn/myproject

版本库中的配置目录 conf 有三个文件:

  • authz 是权限控制文件

  • passwd 是帐号密码文件

  • svnserve.conf 是SVN服务综合配置文件

  • /data/svn/myproject/conf/authz
    添加wenxue用户读写权限

[groups]
[/]
wenxue = rw
*=r
  • ./passwd
    配置wenxue用户的密码为fai
[users]
# harry = harryssecret
# sally = sallyssecret
wenxue = fai
  • 综合配置
    ./svnserve.conf
[general]
# force-username-case = none
# 匿名访问的权限 可以是read、write,none,默认为read
anon-access = none
#使授权用户有写权限
auth-access = write
#密码数据库的路径
password-db = passwd
#访问控制文件
authz-db = authz
#认证命名空间,SVN会在认证提示里显示,并且作为凭证缓存的关键字
realm = /data/svn/myproject
  • 启动svn服务器
    svnserve -d -r /data/svn

客户端本地操作

  • 客户端可以checkout项目 即从服务器下载到本地
    mkdir -p /test
    svn co svn://127.0.0.1/myproject /test
  • 修改提交到服务器
    touch test.txt
    svn add test.txt #第一次提交新文件用add命令
    第二次开始:svn commit(ci) test.txt -m "修改了标题"
  • 更新到最新版本
    svn update 如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
  • 查看 修改后的文件与源文件的区别
    svn diff filename
  • 删除文件
    svn del filename
    svn ci -m "delete filename"
  • 显示这个文件的所有修改记录,及其版本号的变化
    svn log filename
  • 查看文件的详细信息
    svn info filename


    image.png
  • 对版本m和版本n比较差异
    svn diff -r m:n path
    例子:svn diff -r 200:201 test.php
  • Linux命令行下将两个版本之间的差异合并到当前文件
    svn merge -r m:n path

你可能感兴趣的:(svn版本控制小白教程)