centos中安装并使用svn

目录

一.SVN简介:

二.SVN的好处:

三.在你的环境下安装subversion软件

四.linux下svn的使用

五、 centos中安装并使用svn经典问题及处理


———————————————————————————————————————

主机操作系统:Centos 6.7

安装配置:SVN
邮箱:leiyuxing205@gmail.com
———————————————————————————————————————

一.SVN简介:

SVN 全名 Subversion,即版本控制系统,它是一个自由/开源的同时支持多种操作系统的版本控制系统。在 Subversion 管理下,文件和目录可以回到任意时刻的版本,以及比较任意两个时刻的版本变动,这点不止在协同开发中,即使在个人开发过程中,这种特性都是非常非常有用的。大多数程序员都会有过这种经历,对代码进行很多的修改,发现修改的想法根本是错误的,而这时我已经修改了多个文件,要想回退是非常纠结的事情,而现在可以使用 SVN 轻松做到这一点。

我们称用来存放上传档案的地方就做 Repository。用中文来说,有点像是档案仓库的意思。不过,通常我们还是使用 Repository 这个名词。基本上,第一次我们需要有一个新增(add)档案的动作,将想要备份的档案放到 Repository 上面。日后,当您有任何修改时,都可以上传到 Repository 上面,上传已经存在且修改过的档案就叫做 commit,也就是提交修改给 SVN server 的意思。针对每次的 commit,SVN server 都会赋予他一个新的版本。同时,也会把每次上传的时间记录下来。日后,因为某些因素,如果您需要从 Repository 下载曾经提交的档案。您可以直接选择取得最新的版本,也可以取得任何一个之前的版本。如果忘记了版本,还是可以靠记忆尝试取得某个日期的版本。

二.SVN的好处:

1.SVN Repository 可以是自己计算机上的一个目录,或者是随身碟(不建议这样用)。当然也可以是公司的服务器。

2.SVN 有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且,也有版本分支及合并等好用的功能。

3.SVN 可以让不同的开发者存取同样的档案,并且利用 SVN Server 作为档案同步的机制。也就是说,您有档案更新时,无须将档案寄给您的开发成员。只需要告诉他新的版本已经在 SVN Server 上面,请他自己去 SVN Server 上面就可以取得最新版本。而且,SVN Server也可以做到当您上传新版本后,自动发信给相关的成员。

 4.SVN 的存放档案方式是采用差异备份的方式。也就是说,他只会备份有不同的地方。所以很省硬盘空间。此外,他也可以针对所谓的非文字文件进行差异备份

三.在你的环境下安装subversion软件

[leiyuxing@centos6 ~]$sudo yum install -y subversion #下载并安装subversion

[leiyuxing@centos6 ~]$ rpm -qa | grep ubversion #查看是否安装上

subversion-javahl-1.6.11-15.el6_7.i686

subversion-1.6.11-15.el6_7.i686

四.linux下svn的使用

1.下载SVN服务器上的项目

PS:这里以博主的TaoCode为例

将文件checkout到本地目录

svn checkout path (path是服务器的目录)

简写:svn co path

例如:

svn: 解析参数出错

[leiyuxing@centos6 ~]$ svn co http://code.taobao.org/svn/task_iot/

认证领域: <http://code.taobao.org:80> code.taobao.org

“leiyuxing”的密码:

 

-----------------------------------------------------------------------

注意!  你的密码,对于认证域:

 

   <http://code.taobao.org:80> code.taobao.org

 

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion

可以保存加密后的密码。请参阅文档以获得详细信息。

 

你可以通过在“/home/leiyuxing/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,

来避免再次出现此警告。

-----------------------------------------------------------------------

保存未加密的密码(yes/no)?yes

A    task_iot/Task_C2

A    task_iot/Task_C2/Task.txt

........

取出版本 79。

查看是否下载成功:

 

[leiyuxing@centos6 ~]$ cd task_iot/

[leiyuxing@centos6 task_iot]$ ls

ppt讲义  Readme.txt  Task_C1  Task_C2  Task_L3  Task_Linklist

2.在虚拟机得目录下将创建的文件夹移动到下载下来的SVN目录下

[leiyuxing@centos6 task_iot]$ mkdir leiyuxing

[leiyuxing@centos6 task_iot]$ svn add leiyuxing

A         leiyuxing

[leiyuxing@centos6 task_iot]$ svn ci -m"Add leiyuxing"

增加           leiyuxing

提交后的版本为 80。

 可以进入SVN查看是否添加上:

 

3.查看文件或者目录状态

  1)svn status path(目录下的文件和子目录的状态,正常状态不显示)
   【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】
  2)svn status -v path(显示文件和子目录状态)
   第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。

   注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。
简写:svn st

4.删除文件

svn delete path -m "delete test fle"

简写:svn (del, remove, rm)

例如:

[leiyuxing@centos6 task_iot]$ svn delete leiyuxing

D         leiyuxing

[leiyuxing@centos6 task_iot]$ svn ci -m"delete leiyuxing"

删除           leiyuxing

 提交后的版本为 81。

5.查看日志

svn log path

6.查看文件详细信息

Svn info path

例如:

[leiyuxing@centos6 task_iot]$ svn info ppt讲义/

路径: ppt讲义

URL: http://code.taobao.org/svn/task_iot/ppt%E8%AE%B2%E4%B9%89

版本库根: http://code.taobao.org/svn/task_iot

版本库 UUID: 4b78d7ed-ed9a-4803-a405-b7941b9f9149

版本: 79

节点种类: 目录

调度: 正常

最后修改的作者: lingyun_emb

最后修改的版本: 76

最后修改的时间: 2016-04-11 10:43:11 +0800 (一, 2016-04-11)

7.创建纳入版本控制下的新目录

svn mkdir: 创建纳入版本控制下的新目录。
用法: 1、mkdir PATH...
         2、mkdir URL...

创建版本控制的目录。
1、每一个以工作副本 PATH 指定的目录,都会创建在本地端,并且加入新增
     调度,以待下一次的提交。
2、每个以URL指定的目录,都会透过立即提交于仓库中创建。
在这两个情况下,所有的中间目录都必须事先存在。

 

8.恢复本地修改

svn revert: 恢复原始未改变的工作副本文件 (恢复大部份的本地修改)。revert:
用法: revert PATH...
注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复
        被删除的目录

9.代码库URL变更

svn switch (sw): 更新工作副本至不同的URL。
用法: 1、switch URL [PATH]
        2、switch --relocate FROM TO [PATH...]

1、更新你的工作副本,映射到一个新的URL,其行为跟“svn update”很像,也会将
     服务器上文件与本地文件合并。这是将工作副本对应到同一仓库中某个分支或者标记的
     方法。
2、改写工作副本的URL元数据,以反映单纯的URL上的改变。当仓库的根URL变动 
    (比如方案名或是主机名称变动),但是工作副本仍旧对映到同一仓库的同一目录时使用
    这个命令更新工作副本与仓库的对应关系。

10.解决冲突

svn resolved: 移除工作副本的目录或文件的“冲突”状态。
用法: resolved PATH...
注意: 本子命令不会依语法来解决冲突或是移除冲突标记;它只是移除冲突的
        相关文件,然后让 PATH 可以再次提交。

11.输出指定文件或URL的内容。

svn cat 目标[@版本]...如果指定了版本,将从指定的版本开始查找。
svn cat -r PREV filename > filename (PREV 是上一版本,也可以写具体版本号,这样输出结果是可以提交的)

参考链接:[url]http://www.php-oa.com/2008/03/12/svnminglingzailinuxxiadeshiyong.html[/url]

五、 centos中安装并使用svn经典问题及处理

在CentOS上安装并使用SVN时,可能遇到以下经典问题:

1、安装SVN时出现“404 Not Found”的错误

解决方法:由于SVN软件包可能不在默认的软件源中,建议添加EPEL软件源并更新软件包缓存。可以执行以下命令:

sudo yum install epel-release sudo yum update

2、安装完SVN后找不到“svn”命令

解决方法:可能是安装的SVN版本较旧,需要添加“/usr/local/bin”目录到系统的$PATH变量中。可以执行以下命令:

echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc source ~/.bashrc

3、SVN服务无法启动

解决方法:可能是SVN服务未正确配置或端口被占用。可以执行以下命令检查端口占用情况:

sudo netstat -tlnp | grep 3690

如果端口被占用,需要关闭占用该端口的进程或更改SVN服务监听的端口号。

4、SVN客户端无法连接到服务器

解决方法:可能是SVN服务未正确配置或防火墙阻止了客户端连接。可以执行以下命令检查防火墙规则情况:

sudo firewall-cmd --list-all

如果防火墙阻止了SVN客户端连接,需要添加防火墙规则允许SVN服务和端口通过。

以上是在CentOS系统中安装并使用SVN时可能遇到的一些常见问题和解决方法。如果还有其他问题,请查阅相关文档或在互联网上搜索解决方案。

​​​​​​​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在CentOS安装SVN(Subversion),您可以按照以下步骤进行操作: 1. 更新系统软件包: ``` sudo yum update ``` 2. 安装Subversion软件包: ``` sudo yum install subversion ``` 3. 安装Apache HTTP服务器(可选): 如果您计划使用Apache作为SVN服务器,可以安装Apache HTTP服务器: ``` sudo yum install httpd ``` 4. 启动Apache服务(如果已安装): ``` sudo systemctl start httpd ``` 5. 创建一个SVN仓库: ``` sudo svnadmin create /path/to/repository ``` 将`/path/to/repository`替换为您希望创建SVN仓库的路径。 6. 配置SVN仓库: 编辑SVN仓库下的`/path/to/repository/conf/svnserve.conf`文件,取消以下行的注释并保存更改: ``` [general] anon-access = read auth-access = write password-db = passwd authz-db = authz ``` 7. 创建用户名和密码: 在SVN仓库的`/path/to/repository/conf/`目录下创建一个`passwd`文件,并添加用户名和密码。可使用以下命令创建文件并添加用户: ``` sudo htpasswd -cm /path/to/repository/conf/passwd username ``` 将`username`替换为您要创建的用户名。您将被要求输入密码并确认密码。 8. 启动SVN服务器: ``` sudo svnserve -d -r /path/to/repository ``` 将`/path/to/repository`替换为您的SVN仓库路径。 9. 配置防火墙(如果启用): 如果您的防火墙(如iptables)已启用,请确保允许SVN服务器的相关端口(默认是3690)通过防火墙。 现在,您已经在CentOS上成功安装SVN,并设置了一个SVN仓库。您可以使用SVN客户端从其他计算机访问该仓库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的雷神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值