惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Hugging Face - Blog
Hugging Face - Blog
M
MIT News - Artificial intelligence
T
Tailwind CSS Blog
Webroot Blog
Webroot Blog
S
Secure Thoughts
N
News and Events Feed by Topic
月光博客
月光博客
TaoSecurity Blog
TaoSecurity Blog
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
N
News | PayPal Newsroom
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
小众软件
小众软件
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Privacy & Cybersecurity Law Blog
GbyAI
GbyAI
K
Kaspersky official blog
WordPress大学
WordPress大学
P
Proofpoint News Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
博客园 - 叶小钗
W
WeLiveSecurity
Jina AI
Jina AI
The Cloudflare Blog
Project Zero
Project Zero
Simon Willison's Weblog
Simon Willison's Weblog
V
Vulnerabilities – Threatpost
L
LangChain Blog
Forbes - Security
Forbes - Security
PCI Perspectives
PCI Perspectives
Engineering at Meta
Engineering at Meta
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
博客园 - 【当耐特】
H
Heimdal Security Blog
A
About on SuperTechFans
Cisco Talos Blog
Cisco Talos Blog
T
Threat Research - Cisco Blogs
云风的 BLOG
云风的 BLOG
Spread Privacy
Spread Privacy
L
LINUX DO - 最新话题
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
I
Intezer
Martin Fowler
Martin Fowler
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint

博客园 - pcwanli

Python批量将Word文档(.doc)转换为.docx格式的完整实现步骤 linux svn 命令 Qwen3-VL视频科技:内容审核系统搭建 svn update 出现Skipped 'feifazuzhi' -- Node remains in conflict处理方法 linux redis.service如何编写 深入php redis pconnect PHP中使用Redis长连接笔记 python happybase 批量读取 如何用phpredis持久化连接pconnect方法提升应用响应速度 python处理常见格式压缩包文件的全指南 Python编程:happybase读写HBase数据库 python redis zset 按分值获取记录 hbase日志如何清理 hbase日志清理 Python的time.strftime()方法 python re.sub第二参数,前值如何引用 【Python】基于python实现Windows Service程序 python解析url参数 提取网页源码头信息的正则表达式 PHP字符串分割:explode()函数详解与应用 python requests get请求禁用自动解压 python importlib动态模块加载遇到is not a package错误,解决方法。 Python正则表达式替换(re.sub)的6种典型应用场景 用Python处理HTML转义字符的5种方式 pymongo批量更新bulk_write php mongodb操作 PHP 通过 Thrift 操作 Hbase 使用thrift的php版本操作hbase数据库 PHP通过Thrift操作Hbase
Linux下版本控制器(SVN) -命令行客户端
pcwanli · 2026-05-27 · via 博客园 - pcwanli

来源:https://cloud.tencent.com/developer/article/2528010

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

5、命令行客户端

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

mkdir -p /root/workspace/harry
mkdir -p /root/workspace/sally

5.2 检出

  • 作用:完整下载版本库中的全部内容。
  • 命令:
  svn checkout svn://192.168.70.140/pro_oa ./
  • 附加效果
    • 在指定目录下创建.svn目录
    • 保存本地目录和文件状态信息,用来和SVN服务器进行交互
  • 工作副本
    • .svn所在的目录
    • 版本控制相关操作都需要在工作副本目录下执行。例如:提交、更新等等这样的操作。
    • 为了保证工作副本能够正常和服务器进行交互,请不要删除或修改.svn目

录中的内容。

5.3 添加

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

5.4 提交

  • 要求1:附加日志信息
  • 日志信息相当于写Java代码时的注释,用来标记本次操作所做的修改。
  svn commit -m "xxx" [文件名]
  • 要求2:必须具备相应的权限
  • 使用文本编辑器打开版本库根目录/conf/svnserve.conf文件

[root@rich harry]# svn commit hello.txt
svn:提交失败(细节如下):svn:“/root/workspace/harry/hello.txt”尚未纳入版本控制
[root@rich harry]# svn add hello.txt
A hello.txt
[root@rich harry]# svn commit hello.txt
svn:提交失败(细节如下):
svn:无法使用外部编辑器获得日志信息;考虑设置环境变量 $SVN_EDITOR,或者使用--message (-m)或 --file (-F)选项
svn:没有设置 SVN_EDITOR,VISUAL或 EDITOR环境变量,运行时的配置参数中也没有“editor-cmd”选项
[root@rich harry]# svn commit -m "My first commit" hello.txt
svn:提交失败(细节如下):
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_oa
good.log
hello.txt

5.6 更新操作

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

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/vim
export SVN_EDITOR
-------------------------------------------
source /etc/profileecho $SVN_EDITOR
  • 解决的过程
  • 使用e选项进入文件内容编辑界面

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

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

5.7.6 减少冲突的发生
  • 尽可能在修改文件前先进行更新操作,尽量在最新版基础上修改文件内容。
  • 尽量减少多人修改同一个文件的可能性。
  • 加强团队成员之间的沟通。