linux 下搭建svn
Update
程序设计中的“后悔药”——SVN
一、历史起源
1、版本控制软件
答:主要是对源代码版本进行控制与管理
2、版本控制软件起源
CVS:最早期的开源的版本控制软件(开源奇葩)
VSS:微软开发开发Visual SourceSafe,入门级产品,价格便宜,具有windows可视化界面,不需要额外技术培训,操作方便
ClearCase:中坚力量,对于源代码管理非常强大,但是门槛较高,收费较高(IBM)
SVN:主流 Git:主流
面试题:什么是版本控制软件?你使用过哪些版本控制软件?
答:主要是对源代码的版本进行控制与管理,我了解CVS以及VSS,比较熟悉SVN,目前开发是使用SVN。
3、什么是SVN
svn全称SubVersion
svn是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。(GitHub、Oschina、CSDN)
支持Windows、Linux、MacOS
前身是CVS
时间机器
4、SVN的安装与使用
SVN属于C/S结构软件,分为客户端与服务器端
客户端:
http://tortoisesvn.net/downloadss
服务器端:
Linux系统 rpm包
二、SVN服务器端安装与使用
1、安装
安装命令:yum install -y subversion 联网
本地 软件包
2、配置版本仓库
在 /usr/local/ 创建目录svn
在 /usr/local/svn/ 下创建文件目录sunny(名字可以任意取)
svnadmin create /usr/local/svn/sunny
3、SVN的配置
进入版本仓库的配置文件 /usr/local/svn/sunny/conf 下可以看到有3个配置文件file
authz 设置用户权限配置文件
passwd 设置用户账号配置文件
svnserve.conf 设置svnd基本配置文件
1)打开svnserve.conf配置版本库信息和用户文件和用户密码文件的路径、版本库路径
①# anon-access = none(不允许匿名访问)
②# auth-access = write(允许写入)
③# password-db = passwd(访问时需要输入密码)
④#authz-db = authz #访问权限设置
将以上四行的注释去掉
2)创建svn组和组用户的权限
vi authz
①[group]
g1=u1,u2,u3 //创建一个g1的组,并指定一个用户u1,u2,u3
②[/] //制定根目录下的权限
@g1= rw //g1组用户权限为读写
* = r //其他用户只有读权限
③保存退出
3)创建或修改用户密码
vi passwd
①[users]
u1 = 123 //用户名为u1的用户的密码为123456
②保存退出
4、SVN的启动
(配置好svn后,我们就可以进行svn服务的启动了)
启动svnserve -d -r 版本库目录
如 svnserve -d -r /usr/local/svn/
查看是否启动
ps -ef | grep svn
1)SVN的自动启动
vi /etc/rc.local 打开自启动文件添加
/usr/bin/svnserve -d -r /usr/local/svn/
2)进入到虚拟机/var/www/html/lau目录下
cd /var/www/html/lau
svn checkout svn://192.168.234.132/sunny
windows修改代码,linux待命更新
3)linux自动更新
在 /usr/local/svn/sunny/hooks/创建文件post-commit 必须给其可执行的权限
chmod -R 777 post-commit
在vi /usr/local/svn/sunny/hooks/post-commit中加入
#!/bin/sh
export LANG=en_US.UTF-8
/usr/bin/svn update /var/www/html/lau/sunny --username u1 --password 123
三、安装客户端SVN及使用
1、安装
客户端SVN其是分版本的,分为32位与64位
32位系统安装32位,64位操作系统安装64位
先安装TortoiseSVN,再安装语言包
安装好之后必须重启
2、SVN的使用
在客户端创建工作区域
注意:必须保证客户端和服务器端能正常通信。必须开启防火墙允许svn通过
#vi /etc/sysconfig/iptables
添加以下语句
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT
重启iptables
#service iptables restart
1)检出(实现工作区域和服务器仓库的同步)
2)提交(本地工作区域内的文件上传至服务器的版本仓库)
3)更新 (把服务器仓库中最新的文件下载到本地的工作区域)
4)提交(本地的工作区域内的文件重新提交与服务器同步)
四、SVN的使用原理图
四、SVN中的图标集
1、同步图标:
说明:本地文件已与服务端文件同步,大小和修改时间一致。
2、未受版本控制图标
说明:当前文件在本地存在,在服务器端不存在
3、添加图标
说明:当前文件在本地存在,在服务端不存在,但下次提交时,会自动将该文件提交到服务器端
4、修改图标
说明:当前文件与服务端文件不同步,当前文件有修改,会自动提示红色叹号
5、删除图标
说明:该文件在服务端已删除,本地未删除
6、冲突图标
说明:当前文件与服务端文件有冲突,必须解决后才可以上传
7、忽略图标
说明:当前文件不提交到服务端中,默认显示忽略图标
linux 下搭建svn的更多相关文章
- linux下搭建svn本地服务器
在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local # svnadmin create led_diplay ...
- 如何在linux下搭建svn服务
• 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...
- Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法
首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion ...
- 在Linux下搭建SVN服务器
svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档. CentOS下:安装 这样同一台服务器便可以运行多个svnserver了 检查端口 注:如果修改了svn配置,需要重启svn服务 -j ...
- Linux下搭建svn服务端
安装 使用yum安装非常简单: yum -y install subversion (压缩包安装比这麻烦的多) Tortoise本是window下客户端工具,但也可以建仓库,作为服务端.Linux只有 ...
- linux下搭建SVN服务器完全手册
原文:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 系统环境 RHEL5.4最小化安装(关iptables,关 ...
- linux下搭建svn并同步更新至web目录
安装svn 使用yum安装 yum install subversion -y 安装成功后查看版本库 svnserve --version 生成目录 cd /var mkdir svn cd svn ...
- linux下搭建SVN服务器完全手册【转】
转自:http://blog.csdn.net/bullbat/article/details/9115559 系统环境 RHEL5.4最小化安装(关iptables,关selinux) ...
- linux下搭建svn代码库
1.安装svn客户端 2.创建svn代码库 1.安装svn客户端 1.1.使用命令安装 1)CentOS $ yum install subversion 2)ubuntu sudo apt-get ...
随机推荐
- thinkphp常用Config.php配置项
<?php return array( //'配置项'=>'配置值' 'DB_HOST' => 'localhost', 'DB_USER' => 'root', 'DB_PW ...
- dubbo源码学习(一)之ExtensionLoader
[转载请注明作者和原文链接,欢迎讨论,相互学习.] 一.前言 ExtensionLoader类,主要是根据扩展点名称来对扩展点接口实现进行的一系列操作,如果获取扩展点接口实现实例.适配类实例.更新实现 ...
- 获取系统开机的时间(Windows、Linux)
获取系统启动的时间.Windows系统和Linux系统 1.Windows系统 1)代码如下 #include <stdio.h> #include <time.h> #inc ...
- jQuery hide()并不等于hide(0)
在实际使用中,经常用hide()函数来隐藏HTML元素,通常是没有什么问题的,但在一次做二级下拉菜单时遇到了问题,后来才发现有时候“speed”是不能省略的,即使“speed=0”,也就是说hide( ...
- [LintCode] Length of Last Word 求末尾单词的长度
Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...
- [CareerCup] 17.4 Maximum of Two Numbers 两数中的较大值
17.4 Write a method which finds the maximum of two numbers. You should not use if-else or any other ...
- win7 、win10连接l2tpvpn
win7: 修改vpn连接选项: win10: 参考连接: http://service.njaf.gov.cn/26970/26971/201510/t20151024_3621861.html ...
- 手机横屏竖屏css
@media是css3中新定义的,功能非常强大,顾名思义PC是无法匹配横竖屏的,所以orientation只对移动设备起效. 1.头部声明 复制代码 代码如下: <meta name=" ...
- 模拟状态为active的日志损坏的数据恢复实验(不完全恢复)
1查看当前日志状态 首先不完全恢复是会丢失数据的,由此在当前打开的数据中我们创建一些测试数据,用来验证当我们进行完不完全恢复后该数据是否还存在. 2模拟删除CURRENT状态的日志 3启动数据验证错误 ...
- 提示此windows副本不是正版的win7系统7601解决方法
windows不是正版的提示一旦出现,那就表示我们的windows需要激活.在激活之前,我们的桌面主题就会无法正常更改,哪怕换了 壁纸或者主题我们的电脑显示屏依然会经常黑屏.虽然并不会影响我们使用 ...