SVN 学习笔记

SVN 简介和安装#

SVN是什么?#

  • 代码版本管理工具
  • 它能记住你每次的修改
  • 恢复到任何历史版本
  • 恢复已经删除的文件

SVN跟Git相比,有什么优势?#

  • 使用简单,上手快
  • 目录级权限控制,企业安全必备
  • 子目录Checkout,减少不必要的文件检出

SVN 主要应用#

  • 开发人员用来做代码的版本管理
  • 用来存储一些重要的文件,比如合同
  • 公司内部文件共享,并且能按目录划分权限

SVN仓库#

推荐:svnbuket.com,SVN桶
现在最好用的SVN服务

安装SVN客户端#

TortoiseSVN ——Windows
Cornstone ——Mac

SVN 基本操作#

  • 检出 checkout
  • 新增 add
  • 提交 commit
  • 更新 修改之后重新提交
  • 历史记录

示例#

(1)新建一个项目(仓库)#

image.png
创建完成之后,选择右上角的地址,复制
image.png

(2)检出 checkout (从仓库中拿出来)#

image.png
鼠标右键,选择 SVN checkout
image.png
image.png

输入用户名和密码(网站该仓库的名,和账号的密码)
image.pngok之后
image.png

(3)创建几个文件提交上去 commit#

image.png
右键,选择 SVN commit,选择要添加的文件,再添加提交信息
image.png
ok之后
image.png
在远端仓库刷新
image.png
还可以看到提交记录
image.png

(4)更新操作 修改之后重新提交#

打开1.txt,添加”1234“,测试一下
image.png
选择右键,SVN commit
image.png
我们可以双击1.txt,可以看到变更的内容
image.png
选择ok后
image.png
网站上看到变更记录
image.png

(5)查看日志#

image.png
这样我们就可以看到所有的提交记录了
image.png

SVN update 使用#

在每次提交之前,我们可以使用右键,选择 SVN update,更新一下,避免冲突。

SVN 撤销和恢复#

  • 撤销本地修改
  • 撤销已提交内容
  • 恢复到指定版本

撤销本地修改#

(1)例如 修改1.txt文件 添加了67
image.png
(2)已经保存了,退出来了。这是我们不想修改了。
右键,选择 乌龟SVN,选择 Revert
image.png
或者 在SVN 提交里面,选择1.txt,右键 SVN 还原
image.png
点击还原之后,选择要还原的文件,确定
image.png

撤销已提交内容#

(1)先修改1.txt内容,提交上去
image.png
官网看见:
image.png
本地查看日志:(也可以看见)
image.png
选择错误的提交版本,右键选择红框
image.png
注意恢复之后,要重新提交

恢复到指定版本#

本地查看日志:(也可以看见):选择要恢复的某个版本
image.png
注意恢复之后,要重新提交

SVN 添加忽略#

(1)有些时候我们有些文件不想提交,可以选择忽略
image.png
现在重新提交,他会把那些文件都删除
image.png
(2)我们也可以在提交时,忽略
image.png
(3)现在我们不想忽略了,可以选择 从忽略列表中删除
image.png
现在就又可以提交了
image.png

SVN 解决冲突#

  • 什么情况容易发生冲突?
    • 多个人修改了同个文件的同一行
    • 无法进行合并的二进制文件
  • 怎么避免冲突?
    • 经常update同步下他人的代码
    • 二进制文件不要多个人同时操作
  • 冲突了怎么办?

选择 SVN update,发生冲突。

  • 编辑冲突
  • 使用他们的
  • 使用我的
  • 标记已解决

image.png
编辑冲突
image.png

分支#

  • 什么时候需要分支?
    • 隔离线上版本和开发版本
    • 大功能开发,不想影响到其他人,自己独立开个分支去开发
  • SVN 经典目录结构
    • trunk 主干
    • branches
    • tags

创建经典目录#

(1)可以在创建项目时,直接选择创建
image.png

(2)也手动创建 3个目录
image.png
然后把那2个文件,放到trunk上,然后提交
image.png
这样目录结构就正确了
image.png
image.png

创建分支#

image.png
修改路径等信息
image.png
image.png
更新 SVN update,就可以看到onlinev1.0
image.png

切换分支#

代码暂存#

  • 有什么用?
    • 代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交
    • 代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交。

这时就需要我们暂存。

image.png
image.png

取消暂存#

image.png
image.png

复杂代码合并#

  • 情况

    • 主干开发新功能,改了很多
    • 分支是线上版本,修复了很多bug
  • 两个分支的代码时间久了差异很大,无法直接分支合并或者指定提交记录合并代码

  • 使用工具 BeyondCompare

posted @   不爱菠萝的菠萝君  阅读(70)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
主题色彩
点击右上角即可分享
微信分享提示