1.安装svn

linux下通过yum安装svn

yum -y install subversion

本地Windows系统安装TortoiseSVN

2.配置

建立版本库目录

mkdir /home/svnlib

启动SVN服务进程,以/home/svnlib为根目录

svnserve -d -r /home/svnlib

3.建立项目版本库

创建一个新的Subversion项目

svnadmin create /home/svnlib/myprj

4.配置允许用户访问

cd /home/svnlib/myprj/conf

vi svnserve.conf
anon-access=none
auth-access=write
password-db=passwd

注:修改的文件前面不能有空格,否则启动svn server出错

vi passwd
[users]
#<用户1> = <密码1>
#<用户2> = <密码2>
batsing=batsingPW

5.在本地电脑使用TortoiseSVN检出代码库

可能出现的问题1:

  “由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败”

  原因:Centos7防火墙拦截了外网访问3690端口

#查看开放的端口
firewall-cmd --list-port
#添加端口(永久)
firewall-cmd --zone=public --add-port=3690/tcp --permanent
#重载防火墙
firewall-cmd --reload #防火墙的一些基本命令
systemctl start firewalld #开防火墙
systemctl stop firewalld #关防火墙
systemctl enable firewalld #自启动
systemctl disable firewalld #禁自启动

(如果是用的阿里云,还有可能“安全组”策略限制了端口访问,需要在阿里云后台操作添加端口)

可能出现的问题2:
    Error: Can't connect to host '': 由于目标机器积极拒绝,无法连接。
    解决:首先测试svn的3690端口是否打开:

netstat -nlpt|grep 

如果不成功说明服务没有被正常启动,启动SVN服务,输入命令

svnserve -d -r /home/svnlib

可能出现的问题3:   
    Error: No repository found in 'svn://localhost/myprj'
    解决:先关闭SVN服务

killall svnserve

开启SVN服务,注意设置的目录

svnserve -d -r /home/svnlib

再试试本机使用TortoiseSVN->Repo-browser查看版本库

6.检出版本库到指定目录

svn co svn://localhost/myprj /home/wwwroot/htdocs/myprj

7.一次性添加所有文件

svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add

!注意网站的目录名不能含点号.否则会无法添加

8.提交上传(这里的提交备注不要省略)

svn commit -m "this is remarks"

9.SVN 更新

svn up

10.查看文件状态

svn st

【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】

11.实时更新到测试目录 post-commit勾子

进入项目库目录下的 ./hooks目录,新建 post-commit文件

#!/bin/sh
export LANG="zh_CN.GBK" SVN=/usr/bin/svn #这里配置的是svn安装bin目录下的svn文件
WEB=/home/wwwroot/project/ #要更新的目录
SVNUSER=batsing #SVN登录用户名
SVNPWD=mypassword #SVN密码
$SVN update $WEB --username $SVNUSER --password $SVNPWD

设置权限为可执行  chmod +x post-commit

可能出现的问题1:
    Error:  Error output could not be translated from the native locale to UTF-8
    解决:文件的语言编码跟系统的语言编码不同,修改文件中指定的语言编码。

可能出现的问题2:
    Error:  post-commit hook failed (exit code 255) with no output
    解决:没有执行权限,按上面说的方法对文件添加执行权限。

12.设置服务器svn开机自动启动

打开 /etc/rc.d/rc.local 文件,在末尾添加一句。保存即可

svnserve -d -r /home/svnlib

13.SVN库导出导入

备份svn存储库

#压缩备份
svnadmin dump /home/svnlib/repository | gzip > ~/repository-backup.gz
#不压缩备份
svnadmin dump /home/svnlib/repository > ~/repository-backup.svn

恢复svn存储库

#建立新的svn存储库
svnadmin create /home/svnlib/newrepository
#解压缩
gzip -d ./repository-bk.gz
#导入存储库数据
svnadmin load /home/svnlib/newrepository < ~/repository-backup.svn

14.删除SVN库(慎)

直接删除库项目的目录

rm -rf /home/svnlib/repository

15.更新SVN版本从1.6升到1.7

删除旧的svn,安装新的svn,查看svn版本

yum remove subversion
yum install subversion
svn --version

Linux下SVN安装与基本操作的更多相关文章

  1. Linux下SVN安装与权限管理

    cat /etc/redhat-release //查看系统版本号 CentOS release 7.1 (Final) 这里我们採用yum源安装方式: 1.安装svn yum install sub ...

  2. Linux下SVN安装配置及应用

    一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 二.配置篇 创建svn版本库目录 mkdir /home/ ...

  3. centos总结linux下svn安装与使用

    一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 查看安装内容与位置 rpm -ql subversion ...

  4. Linux下SVN安装配置和使用中遇到的问题

    两个命令: svn info :显示版本库信息,svn的下载url等. svn co https://xxxxx/xxx   wodemulu   (通过我的目录制定co的文件夹) svn st:显示 ...

  5. Linux下SVN安装配置

      第一章 安装 1. 采用源文件编译安装.源文件共两个,为:subversion-1.6.1.tar.gz (subversion 源文件)subversion-deps-1.6.1.tar.gz ...

  6. Linux下SVN安装配置以及使用

    第一章 安装 1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.21.tar.gz(subversion 源文件) subversion-deps-1.6.21.tar.gz ...

  7. linux下svn安装、配置及钩子

    一.安装 直接运行命令用YUM安装: yum install subversion -y   二.创建svn版本库目录 mkdir -p /var/svn/svnrepos   三.创建版本库 生成文 ...

  8. 记--linux 下svn安装配置,同步web目录

    安装#yum install subversion 1.创建版本库 # svnadmin create /svn/project 2.配置svn服务的配置文件svnserver.conf文件 anon ...

  9. Linux下SVN安装配置全程实录(转)

    一.安装SVN默认安装到/usr/local/bin下面 二.创建仓库 svnadmin create /home/svnrepo /root/svnrepo为所创建仓库的路径,理论上可以是任何目录 ...

随机推荐

  1. oracle 分析函数的使用(1)

    LISTAGG(columnName,'拼接符') WITHIN GROUP(ORDER BY clause) --order by 子句决定拼接内容的顺序 LISTAGG(columnName,'' ...

  2. 微信网站设置右上角发送、分享的内容——.net版本

    一.首先了解本文要解决的问题: 公司前一段开发了移动网站,老板喜欢通过微信看,然后把看到的东西通过右上角的按钮分享出来,但老板发现分享出来的东西,没有指定的图片,没有描述:所以我就得老老实实干活了.. ...

  3. ORACLE口令管理

    口令文件介绍 在ORALCE数据库系统中,用户如果要以特权用户身份(SYS/SYSDBA/SYSOPER)登录ORALCE数据库可以有两种身份验证的方法:即使用与操作系统集成的身份验证或使用ORALC ...

  4. javascript-外观模式

    外观模式笔记   1. 为一组复杂的子系统接口提供一个更高级的统一接口, 通过这个接口使得对子系统接口的访问更容易: 2. 简化底层接口的复杂性,解决浏览器兼容性问题. 3.也会用于对底层结构兼容性做 ...

  5. iOS极光推送,两次Bundleid不一致( 开发证书没有通过验证 是否重新上传证书)的解决方案

    极光在配置ios端推送时,需要上传p12证书,如果遇到如下图:: 证书上传未通过的原因一般有: 1.当前上传的p12证书密码输入有误: 2. 证书导出的时候展开了证书,把个人私钥导了出来,导证书的时候 ...

  6. wc

    $wc [-lwc] filename统计的文件的信息,缺省参数会按照lwc的顺序输出全部三种信息 -l统计文件的行数 -w统计文件的字数,字以空格和换行符分隔 -c统计文件的字符数,包括换行等 例子 ...

  7. nginx参数说明

    一.nginx的核心配置: >>> 正常运行的必备配置: 1. user username [groupname]; #指定运行worker子进程的用户或组 2. pid /path ...

  8. 树莓派2 安装 win10Iot 和 Ubuntu mate

    注册博客账号已经2年多了.一直没写博文现在抽空写写. 写这篇博文是因为我之前在网上找了蛮多有关教程写的都不是很清晰.安装没成功.所以我写一下我根据网上找到的整理一下分享出来. 非专业只是业余玩玩.好了 ...

  9. NServiceBus 更换服务名及队列名称

    可以通过起动时的参数处理 NServiceBus.Host.exe /serviceName:”服务名称” /endpointName:”默认队列名称”

  10. OpenStack 企业私有云的若干需求(7):电信行业解决方案 NFV

    自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云(Hybrid cloud)支持 主流硬件支持.云快速交付 ...