Linux下SVN安装与基本操作
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安装与基本操作的更多相关文章
- Linux下SVN安装与权限管理
cat /etc/redhat-release //查看系统版本号 CentOS release 7.1 (Final) 这里我们採用yum源安装方式: 1.安装svn yum install sub ...
- Linux下SVN安装配置及应用
一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 二.配置篇 创建svn版本库目录 mkdir /home/ ...
- centos总结linux下svn安装与使用
一.安装篇 centos下yum安装 yum install subversion 查看安装是否成功: svnserve --version 查看安装内容与位置 rpm -ql subversion ...
- Linux下SVN安装配置和使用中遇到的问题
两个命令: svn info :显示版本库信息,svn的下载url等. svn co https://xxxxx/xxx wodemulu (通过我的目录制定co的文件夹) svn st:显示 ...
- Linux下SVN安装配置
第一章 安装 1. 采用源文件编译安装.源文件共两个,为:subversion-1.6.1.tar.gz (subversion 源文件)subversion-deps-1.6.1.tar.gz ...
- Linux下SVN安装配置以及使用
第一章 安装 1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.21.tar.gz(subversion 源文件) subversion-deps-1.6.21.tar.gz ...
- linux下svn安装、配置及钩子
一.安装 直接运行命令用YUM安装: yum install subversion -y 二.创建svn版本库目录 mkdir -p /var/svn/svnrepos 三.创建版本库 生成文 ...
- 记--linux 下svn安装配置,同步web目录
安装#yum install subversion 1.创建版本库 # svnadmin create /svn/project 2.配置svn服务的配置文件svnserver.conf文件 anon ...
- Linux下SVN安装配置全程实录(转)
一.安装SVN默认安装到/usr/local/bin下面 二.创建仓库 svnadmin create /home/svnrepo /root/svnrepo为所创建仓库的路径,理论上可以是任何目录 ...
随机推荐
- (ios) nsnotification总结
1 文本输入,键盘显示时,view向上,键盘隐藏时,view向下 1.1 注册键盘显示,关闭通知,并实现主界面上下变动 [[NSNotificationCenter defaultCenter] a ...
- go sync.Mutex 设计思想与演化过程 (一)
go语言在云计算时代将会如日中天,还抱着.NET不放的人将会被淘汰.学习go语言和.NET完全不一样,它有非常简单的runtime 和 类库.最好的办法就是将整个源代码读一遍,这是我见过最简洁的系统类 ...
- Sql Server之旅——第十二站 sqltext的参数化处理
说到sql的参数化处理,我也是醉了,因为sql引擎真的是一个无比强大的系统,我们平时做系统的时候都会加上缓存,我想如果没有缓存,就不会有什么 大网站能跑的起来,而且大公司一般会在一个东西上做的比较用心 ...
- 玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
在我的上一篇博客中, 很多园友提出说对css3"画图"不是很理解, 在跟他们私聊了一段时间以后,加上自己在开始自学css3的时候的疑惑,我觉得大家之所以不是很理解主要是因为对伪元素 ...
- 烂泥:使用snmpwalk采集设备的OID信息
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 打算开始学习有关监控方面的知识,但是现在很多监控系统都是根据SNMP进行的.而SNMP监控的性能指标很多都是通过snmpwalk采集设备的OID信息得到 ...
- od
$od [-t type]查看非文本文件 a 使用默认字符输出 c 使用ASC II字符输出 d[size] 使用十进制来输出数据,每个整数占用size byte o ..八 x ..十六 f ..浮 ...
- shell流程控制
if语句 判断条件用[]包裹起来 if [ $a > $b ] then echo ‘a > b’ elif [ $a < $b ] then echo ‘a < b’ els ...
- 最新discuz模版制作7堂课让你精通discuz模版制作
第一课 基本知识储备一.基本 HTML 代码二.网站语言编码 三.DIV+CSS 认知及应用 第二课 必备软件.环境配置及程序安装 第三课 DISCUZ 构架详解 一.DISCUZ 基础构架讲 ...
- 网格测地线算法(Geodesics in Heat)附源码
测地线又称为大地线,可以定义为空间曲面上两点的局部最短路径.测地线具有广泛的应用,例如在工业上测地线最短的性质就意味着最优最省,在航海和航空中,轮船和飞机的运行路线就是测地线.[Crane et al ...
- VIJOS1240 朴素的网络游戏[DP]
描述 佳佳最近又迷上了某款类似于虚拟人生的网络游戏.在游戏中,佳佳是某旅行团的团长,他需要安排客户住进旅馆.旅馆给了佳佳的旅行团一个房间数的限制.每一个房间有不同的容纳人数和价钱(这个价格是房间的总价 ...