linux svn安装 及 常用命令
安装
yum -y install subversion
svnserve --version
显示版本信息,则表示安装成功
mkdir /home/svn
创建版本库目录
svnadmin create /home/svn/pro
pro目录下生成了几个文件,其中conf文件便是配置文件
cd conf
vim passwd 以 user = passwd 的形式编辑用户名和密码
[users]
zhangsan = mima1
lisi= mima2
vim authz
[/]
* = rw (所有用户都可读可写)
[groups] 分组
admin = zhangsan,lisi,wangwu
common = lisi,wang
[/]
@admin = rw
@common = rw
vim svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
钩子 hooks (可以将svn版本库中的内容同步更新到指定目录)
在 /home/svn/pro/hooks下
新建post-commit 文件
#!/bin/sh
export LC_CTYPE="zh_CN.UTF-8"
SVN=/usr/bin/svn
TODIR=/home/www #要强制更新的目录
$SVN update –username name –password passwd $TODIR #执行更新
chmod a+x post-commit
向svn版本库中导入文件(以导入/home/file/下的文件为例)
svn import /home/file/ file:///home/svn/pro
启动svn服务
svnserve -d -r /home/svn
检出svn库中的内容
mkdir /root/svntest
cd /root/svntest
svn co svn://127.0.0.1/pro
目录下便生成了一个 pro 目录。里面的内容是 版本库中的内容
执行 ll -a 可以看见 .svn 这边是svn的记录
新增几个文件 touch 1.txt
为版本库中提交内容
svn add * (一定要在 pro目录下哦,因为要有 .svn呀)
svn commit -m 'add file'
删除版本库中的文件
svn delete svn://127.0.0.1/pro/er.txt -m 'del'
取消文件的修改
svn revert 回滚
提交冲突时候解决冲突
svn update
svn resolved 现文件最新
svn log 查看提交历史
svn log -v dirname 查看目录的修改信息
svn info 获取当前版本库的基本信息
svn diff 用来显示特定修改的行级 详细信息
svn diff -r 5 1.txt 比较当前 1.txt 与版本5的1.txt的不同。
svn list svn://127.0.0.1/sssmtest 列出版本库中的文件
svn merge -r 22:21 filename 将文件从版本22回退到21
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程