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

时间机器

4SVN的安装与使用

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的更多相关文章

  1. linux下搭建svn本地服务器

    在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local  # svnadmin create led_diplay ...

  2. 如何在linux下搭建svn服务

    • 安装svn 使用命令 yum install subversion 如果提示上述错误,请以管理员身份运行 使用命令su root 再执行 yum install subversion 2,查看sv ...

  3. Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

    首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion   ...

  4. 在Linux下搭建SVN服务器

    svn不仅仅可以用于程序开发,还可以做很多事情,例如备份文档. CentOS下:安装 这样同一台服务器便可以运行多个svnserver了 检查端口 注:如果修改了svn配置,需要重启svn服务 -j ...

  5. Linux下搭建svn服务端

    安装 使用yum安装非常简单: yum -y install subversion (压缩包安装比这麻烦的多) Tortoise本是window下客户端工具,但也可以建仓库,作为服务端.Linux只有 ...

  6. linux下搭建SVN服务器完全手册

    原文:http://www.cnblogs.com/wrmfw/archive/2011/09/08/2170465.html 系统环境        RHEL5.4最小化安装(关iptables,关 ...

  7. linux下搭建svn并同步更新至web目录

    安装svn 使用yum安装 yum install subversion -y 安装成功后查看版本库 svnserve  --version 生成目录 cd /var mkdir svn cd svn ...

  8. linux下搭建SVN服务器完全手册【转】

    转自:http://blog.csdn.net/bullbat/article/details/9115559 系统环境        RHEL5.4最小化安装(关iptables,关selinux) ...

  9. linux下搭建svn代码库

    1.安装svn客户端 2.创建svn代码库 1.安装svn客户端 1.1.使用命令安装 1)CentOS $ yum install subversion 2)ubuntu sudo apt-get ...

随机推荐

  1. node.js不得不说的12点内容

    1.node.js,服务器端的javascript,它允许在后端(脱离浏览器环境)运行javascript代码. 2.事件驱动.异步式I/O的编程模式(单线程)是其核心. 3.node.js的java ...

  2. js正则表达式 验证手机号,email地址和邮政编码

    手机号码的验证(13开头和158,159开头,共11位) var re;        var ss=document.getElementById('textbox3').value;        ...

  3. 相邻div实现一个跟着另一个自适应高度示例代码

    方法一: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> < ...

  4. linux 清除驱动对网卡的记录

    1.情况说明: 通过U盘做了一个linux 系统镜像(可读可写),设置eth0的ip=10.0.73.11.第一次启动的时候ip正确. 当我将该镜像)在另一台服务器启动的时候,无法通过10.0.73. ...

  5. linux下转换U盘文件系统

    打算在windows 7 下复制一个12G 的文件至U盘,无奈U盘为FAT32格式,最大支持移动4G 的文件,只能将U盘文件系统格式化为NTFS.windows 7系统出现问题,转化中总是出现错误.故 ...

  6. jQuery的常用事件

    1.$(document).ready() $(document).ready()是jQuery中响应JavaScript内置的onload事件并执行任务的一种典型方式.它和onload具有类似的效果 ...

  7. Odoo 路线规则实现机制浅析

    事情是这个样子的:项目在实施过程中,碰到A仓库向B仓库供货的情况,心想这还不简单,老老实实地建多个仓库并将B仓库的供货仓库选为A仓库,再设置好产品的再订购规则,万事大吉了.然而,事情并非想象的那么简单 ...

  8. java UDP 简单实现编程

    http://kuchaguangjie.iteye.com/blog/911145 http://blog.csdn.net/pengchua/article/details/4398972 htt ...

  9. 【HDU4630 No Pain No Game】 dp思想+线段树的离线操作

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4630 题意:给你n个数据范围在[1,n]中的数,m个操作,每个操作一个询问[L,R],让你求区间[L, ...

  10. c# 文件遍历

    DirectoryInfo TheFolder=new DirectoryInfo(folderFullName); //遍历文件夹 foreach(DirectoryInfo NextFolder ...