SVN 学习笔记
SVN 简介和安装#
SVN是什么?#
- 代码版本管理工具
- 它能记住你每次的修改
- 恢复到任何历史版本
- 恢复已经删除的文件
SVN跟Git相比,有什么优势?#
- 使用简单,上手快
- 目录级权限控制,企业安全必备
- 子目录Checkout,减少不必要的文件检出
SVN 主要应用#
- 开发人员用来做代码的版本管理
- 用来存储一些重要的文件,比如合同
- 公司内部文件共享,并且能按目录划分权限
SVN仓库#
推荐:svnbuket.com,SVN桶
现在最好用的SVN服务
安装SVN客户端#
TortoiseSVN ——Windows
Cornstone ——Mac
SVN 基本操作#
- 检出 checkout
- 新增 add
- 提交 commit
- 更新 修改之后重新提交
- 历史记录
示例#
(1)新建一个项目(仓库)#
(2)检出 checkout (从仓库中拿出来)#
(3)创建几个文件提交上去 commit#
右键,选择 SVN commit,选择要添加的文件,再添加提交信息
ok之后
在远端仓库刷新
还可以看到提交记录
(4)更新操作 修改之后重新提交#
打开1.txt,添加”1234“,测试一下
选择右键,SVN commit
我们可以双击1.txt,可以看到变更的内容
选择ok后
网站上看到变更记录
(5)查看日志#
SVN update 使用#
在每次提交之前,我们可以使用右键,选择 SVN update,更新一下,避免冲突。
SVN 撤销和恢复#
- 撤销本地修改
- 撤销已提交内容
- 恢复到指定版本
撤销本地修改#
(1)例如 修改1.txt文件 添加了67
(2)已经保存了,退出来了。这是我们不想修改了。
右键,选择 乌龟SVN,选择 Revert
或者 在SVN 提交里面,选择1.txt,右键 SVN 还原
点击还原之后,选择要还原的文件,确定
撤销已提交内容#
(1)先修改1.txt内容,提交上去
官网看见:
本地查看日志:(也可以看见)
选择错误的提交版本,右键选择红框
注意恢复之后,要重新提交
恢复到指定版本#
本地查看日志:(也可以看见):选择要恢复的某个版本
注意恢复之后,要重新提交
SVN 添加忽略#
(1)有些时候我们有些文件不想提交,可以选择忽略
现在重新提交,他会把那些文件都删除
(2)我们也可以在提交时,忽略
(3)现在我们不想忽略了,可以选择 从忽略列表中删除
现在就又可以提交了
SVN 解决冲突#
- 什么情况容易发生冲突?
- 多个人修改了同个文件的同一行
- 无法进行合并的二进制文件
- 怎么避免冲突?
- 经常update同步下他人的代码
- 二进制文件不要多个人同时操作
- 冲突了怎么办?
选择 SVN update,发生冲突。
- 编辑冲突
- 使用他们的
- 使用我的
- 标记已解决
分支#
- 什么时候需要分支?
- 隔离线上版本和开发版本
- 大功能开发,不想影响到其他人,自己独立开个分支去开发
- SVN 经典目录结构
- trunk 主干
- branches
- tags
创建经典目录#
(2)也手动创建 3个目录
然后把那2个文件,放到trunk上,然后提交
这样目录结构就正确了
创建分支#
修改路径等信息
更新 SVN update,就可以看到onlinev1.0
切换分支#
代码暂存#
- 有什么用?
- 代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交
- 代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交。
这时就需要我们暂存。
取消暂存#
复杂代码合并#
-
情况
- 主干开发新功能,改了很多
- 分支是线上版本,修复了很多bug
-
两个分支的代码时间久了差异很大,无法直接分支合并或者指定提交记录合并代码
-
使用工具 BeyondCompare
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!