zoukankan      html  css  js  c++  java
  • 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作为代码版本管理软件。(GitHubOschinaCSDN

    支持WindowsLinuxMacOS

    前身是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

    3SVN的配置

    进入版本仓库的配置文件 /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

    ②保存退出

    4SVN的启动

       (配置好svn后,我们就可以进行svn服务的启动了)

       启动svnserve  -d  -r 版本库目录

       如  svnserve  -d  -r  /usr/local/svn/

       查看是否启动

       ps  -ef | grep svn

    1SVN的自动启动

    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忽略图标

    说明:当前文件不提交到服务端中,默认显示忽略图标

  • 相关阅读:
    C#中的静态
    C#类的使用
    C#接口实现多态
    C#---->类和接口
    winform项目导入数据
    kms访问数据库的方式(该篇只是作为个人笔记,不具有任何公共参考意图)
    win7下安装docker toolbox
    JabRef:将bibtex格式的参考文献导入EndNote的转换软件
    RabbitMQ安装以及简单操作应用(针对Windows和C#)
    C# Task和异步方法
  • 原文地址:https://www.cnblogs.com/shaohuixia/p/5532425.html
Copyright © 2011-2022 走看看