美文网首页
Centos6.8下搭建SVN服务器 一套配置文件 管理多个sv

Centos6.8下搭建SVN服务器 一套配置文件 管理多个sv

作者: 冰泪 | 来源:发表于2017-07-07 09:31 被阅读0次

    1.Centos6.8下搭建SVN服务器

    Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。Subversion是Apache基金会下的一个项目,官网https://subversion.apache.org/ 。

    2.安装

    yum-y install subversion

    3.创建SVN版本库

    mkdir-p /svn   ##创建目录

    svnadmin create /svn/ice     ##创建ice版本库

    svnadmin create /svn/ios    ##创建ios版本库

    rm -rf ios/  用来删除删除版本库

    4、如果单个svn 库或者各自库配置自己的文件  跳过这一步  如果实现一套配置文件管理多个svn库请继续往下看

    1>将其中ice 内部的conf 文件夹 移出来 然后将ios 内部的conf文件夹删除(因为2个库共用一套配置所以 只保留一个就够了)   效果图如下

    5.配置文件

    conf文件夹里边有三个文件

    1>passwd  里边存的是账号密码

    admin是账号 admin123是密码(有多少账号添加多少)

    2>authz 内部存的是 账号权限

    gg是分组用来处理多账户权限管理

    [ice:/] 表示 ice的那个svn 库

    @gg= rw  表示gg 分组的所有用户都有读写权限

    admin3 = rw  表示admin3 有读写权限

    * =   表示 其他所有匿名账户不允许访问

    * = r 表示允许匿名账户读

    * = rw 表示允许匿名账户读写

    同理不同的库svn 库可以在在这里给不同用户分配权限

    3>svnserve.conf是配置文件

    auth-access 是给svn 库开启读写

    realm   svn库的根目录

    以下 如果不是多个库访问一套配置文件 则默认路径即可不用修改

    password -db 是用户名密码文件的路径  因为要多个库 访问同一个配置所以这里需要改为文件绝对路径,

    authz -db 账户权限文件 同需要绝对路径

    5、重启svn服务

    1> killall svnserve   关闭服务

    2>svnserve -d -r /svn   启动服务  (正常启动服务)

    svnserve -d -r /svn  --config-file=/svn/conf/svnserve.conf (多个库访问一套配置文件 需要指定   配置文件的位置 所以使用这个代码启动服务)

    3>ps aux | grep svnserve #查看服务是否启动

    6、确认有没有开启3690 端口

    netstat -an | grep 3306 查询端口有没有打开 如果打开显示

    否则

    /etc/sysconfig/iptables 回车

    要打开那个端口就添加那个端口(以下是80 端口和3690 端口)

    -A INPUT -m state -–state NEW -m tcp -p tcp –dport 80 -j ACCEPT

    -A INPUT -m state –-state NEW -m tcp -p tcp –dport 3690 -j ACCEPT

    然后  “:wq” 退出

    然后保存:etc/rc.d/init.d/iptables save

    在看看是否已经有了3690端口的开放权限:netstat -an | grep 3690

    7、连接svn

    svn使用

    1、checkout

    #svn co svn://路径(目录或文件的全路径) [本地目录全路径]--username 用户名 --password 密码#svn checkout svn://路径(目录或文件的全路径) [本地目录全路径]--username 用户名 --password 密码

    2、往版本库中添加新的文件

    svnaddfile例如:svnaddtest.php(添加test.php)svnadd*.php(添加当前目录下所有的php文件)

    3、将改动的文件提交到版本库

    svncommit -m"LogMessage"[-N] [--no-unlock] PATH(如果选择了保持锁,就使用--no-unlock开关)例如:svn commit -m"add test file for my test"test.php简写:svn ci

    4、加锁/解锁

    svnlock-m"LockMessage"[--force] PATH例如:svnlock-m"lock test file"test.phpsvnunlockPATH

    5、更新到某个版本

    svnupdate-r mpath例如:svnupdate如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。svnupdate-r200test.php(将版本库中的文件test.php还原到版本200)svnupdatetest.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)简写:svn up

    6、查看文件或者目录状态

    1)svnstatuspath(目录下的文件和子目录的状态,正常状态不显示)【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】2)svnstatus-vpath(显示文件和子目录状态)第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。注:svnstatus、svndiff和svnrevert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。简写:svnst

    7、删除文件

    svndeletepath-m"delete test fle"例如:svndeletesvn://192.168.1.1/pro/domain/test.php -m"delete test file"或者直接svndeletetest.php 然后再svn ci -m'delete test file‘,推荐使用这种

    简写:svn (del, remove, rm)

    8、查看日志

    svnlogpath例如:svnlogtest.php 显示这个文件的所有修改记录,及其版本号的变化

    9、查看文件详细信息

    svninfopath例如:svninfotest.php

    10、比较差异

    svndiffpath(将修改的文件与基础版本比较)例如:svndifftest.phpsvndiff-rm:npath(对版本m和版本n比较差异)例如:svndiff-r200:201test.php简写:svndi

    11、将两个版本之间的差异合并到当前文件

    svnmerge-rm:npath例如:svnmerge-r200:205test.php(将版本200与205之间的差异合并到当前文件,但是一般都会产生冲突,需要处理一下)

    12、SVN 帮助

    svnhelpsvnhelpci

    相关文章

      网友评论

          本文标题:Centos6.8下搭建SVN服务器 一套配置文件 管理多个sv

          本文链接:https://www.haomeiwen.com/subject/umklhxtx.html