写点什么

Linux 下版本控制器 (SVN) - 命令行客户端

作者:刘大猫
  • 2025-06-02
    黑龙江
  • 本文字数:1379 字

    阅读完需:约 5 分钟

@[toc]

进阶知识-Linux 下版本控制器(SVN)

5、命令行客户端

5.1 创建两个工作区目录模拟两个开发人员

mkdir -p /root/workspace/harrymkdir -p /root/workspace/sally
复制代码

5.2 检出

  • 作用:完整下载版本库中的全部内容。

  • 命令:


  svn checkout svn://192.168.70.140/pro_oa ./
复制代码


  • 附加效果

  • 在指定目录下创建.svn 目录

  • 保存本地目录和文件状态信息,用来和 SVN 服务器进行交互

  • 工作副本

  • .svn 所在的目录

  • 版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作。

  • 为了保证工作副本能够正常和服务器进行交互,请不要删除或修改.svn 目


录中的内容。

5.3 添加

  • SVN 要求提交一个新建的文件前先把这个文件添加到版本控制体系中。


  svn add文件名
复制代码

5.4 提交

  • 要求 1:附加日志信息

  • 日志信息相当于写 Java 代码时的注释,用来标记本次操作所做的修改。


  svn commit -m "xxx" [文件名]
复制代码


  • 要求 2:必须具备相应的权限

  • 使用文本编辑器打开版本库根目录/conf/svnserve.conf 文件





[root@rich harry]# svn commit hello.txtsvn:提交失败(细节如下):svn:“/root/workspace/harry/hello.txt”尚未纳入版本控制[root@rich harry]# svn add hello.txtA hello.txt[root@rich harry]# svn commit hello.txtsvn:提交失败(细节如下):svn:无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用--message (-m)或 --file (-F)选项svn:没有设置 SVN_EDITOR,VISUAL或 EDITOR环境变量,运行时的配置参数中也没有“editor-cmd”选项[root@rich harry]# svn commit -m "My first commit" hello.txtsvn:提交失败(细节如下):svn:认证失败[root@rich harry]# svn commit -m "My first commit" hello.txt增加 hello.txt传输文件数据.提交后的版本为 1。
复制代码

5.5 查看服务器端文件内容

[root@rich harry]# svn list svn://192.168.70.140/pro_oagood.loghello.txt
复制代码

5.6 更新操作

  • 作用:把服务器端文件所产生的所有修改下载到本地


命令:svn update [文件名]
复制代码

5.7 冲突

5.7.1 过时的文件

  • 概念:在一个相对服务器端版本来说是旧版本的基础上进行了修改的文件。

  • 要求:所有过时的文件都必须先执行更新操作,更新后在最新版基础上修改的


文件才允许提交。

5.7.2 冲突的产生

  • 条件 1:本地当前编辑的文件已经过时。

  • 条件 2:从服务器端更新下来的修改和本地的修改在“同文件同位置”不一致。

5.7.3 冲突的表现

  • 文件内



  • 目录内



xxx.mine文件:发生冲突时本地文件内容xxx.r[小版本号]文件:发生冲突前文件内容xxx.r[大版本号]文件:发生冲突时服务器端文件内容

5.7.4 冲突的手动解决

  • 第一步:删除冲突发生时产生的三个多余文件

  • 第二步:删除冲突文件内多余的符号

  • 第三步:把文件编辑到满意的状态

  • 第四步:提交

5.7.5 冲突的半自动解决

  • 设置 SVN_EDITOR 环境变量



vim /etc/profile-------------------------------------------SVN_EDITOR=/usr/bin/vimexport SVN_EDITOR-------------------------------------------source /etc/profileecho $SVN_EDITOR
复制代码


  • 解决的过程

  • 使用 e 选项进入文件内容编辑界面




  • 进入 vim 编辑器编辑文件内容




  • 编辑完成后使用 r 选项标记为已解决




5.7.6 减少冲突的发生

  • 尽可能在修改文件前先进行更新操作,尽量在最新版基础上修改文件内容。

  • 尽量减少多人修改同一个文件的可能性。

  • 加强团队成员之间的沟通。

本人其他相关文章链接

1.Linux下版本控制器(SVN) -服务器端环境搭建步骤2.Linux下版本控制器(SVN) -命令行客户端

用户头像

刘大猫

关注

还未添加个人签名 2022-08-23 加入

还未添加个人简介

评论

发布
暂无评论
Linux下版本控制器(SVN) -命令行客户端_人工智能_刘大猫_InfoQ写作社区