SVN入门学习

1. 简介

​ SVN(Subversion)是一个集中式版本控制系统,用于管理和跟踪软件开发项目中的代码变更。与分布式版本控制系统(如Git)不同,SVN使用集中式的仓库来存储代码,并提供了一套客户端工具来与仓库进行交互。

什么是SVN

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

主要应用

  • 开发人员用来做代码的版本管理

  • 用来存储一些重要的文件,比如合同

  • 公司内部文件共享,并且能按目录划分权限

SVN仓库

  • svnbucket.com

客户端

  • TortoiseSVN

2. SVN基本操作

2.1 检出checkout

  1. 在网站上创建项目,复制地址
  2. 进入本地文件夹,右键选择SVN检出
  3. 此时本地文件夹已经与远程仓库建立联系,可以放入文件
  4. 右键选择SVN提交
    在这里插入图片描述
  • 更新操作:右键点击SNV更新(提交文件前需要进行SVN更新,即将本地库与远程库同步)
  • 文件修改后需要再次提交(可以双击文件查看修改前后对比)
  • 查看日志:右键进入TortoiesSVN/显示日志

3. 撤销和恢复操作

1、撤销本地修改

方法1:选中文件->右键点击TortoiesSVN/SVN还原->确定

方法2:在提交页面选中文件->右键点击SVN还原

2、撤销已提交内容

进入日志->右键点击修改版本->复原此版本做出的修改->提交

3、恢复到指定版本

进入日志->右键点击需要恢复的版本->提交

4. 忽略文件与文件夹

不想提交某个文件或文件夹时的操作

方法1、直接忽略文件或文件夹

右击文件夹->TortoiseSVN/去除版本控制并增加到忽略列表/文件夹名(再次操作或加入可移除忽略列表)

方法2、在提交页面忽略文件或文件夹

在提交页面->右击文件->增加到忽略列表/文件名->提交

5. 冲突解决

  • 什么情况容易发生冲突?

多个人修改了同个文件的同一行,无法进行合并的二进制文件

  • 怎么避免冲突?

经常update同步下他人的代码,二进制文件不要多个人同时操作

  • 发生冲突时解决办法

方法1:在更新完成页面->右击冲突->使用"他们的"文本块解决冲突(舍弃当前修改使用对方版本)

方法2:在更新完成页面->右击冲突->编辑冲突->右击需要的内容->使用此文本块->点击标记为已解决
在这里插入图片描述

6. 分支

  • 为什么需要开分支?

隔离线上版本和开发版本;自己开发独立分支,不想影响到其他人

  • SVN经典目录结构:

trunk(主干)

branches(分支)

tags(标签)

  1. 创建目录结构

方法1:在服务器创建项目时勾选目录结构

方法2:在本地仓库新建这三个文件夹

  1. 创建分支

右击主干->TortoiseSVN/分支->路径选择为分支目录/分支名->填写日志信息->勾选版本库中的最新版本->确定

(此时分支创建在服务器)

  • 进入分支目录后更新SVN即可在本地创建分支文件
  • 可以右击分支和标签,点击属性,复制URL;然后单独将其Checkout进行检出,即可创建一个与主干之间不会相互影响的分支
  1. 合并分支(修改分支后,需要同步到主干时的操作)

右击分支->TortoiesSVN/显示日志->右击需要合并的版本->合并版本到->选择主干目录->提交(合并本地主干,不会提交到远程)

  1. 切换分支

右击主干->TortoiesSVN/切换->选择分支路径->确定(将本地主干切换为远程某个分支)

  • 注意:删除分支目录时需要右击目录->TortoiesSVN/删除

7. 代码暂存

  • 为什么要使用代码暂存?

    代码改了很多,突然需要紧急修复一个bug,但是代码还没写完,不能提交

    代码重构了很多,突然需要发布新版本,但是代码还跑不起来,不能提交。

  1. 修改代码后,右击当前目录->TortoiesSVN/贮藏->勾选需要暂存的文件->中间框输入暂存名(feature1),下方框填写日志信息
  2. 点击储存点:本地文件不会改变;|| 点击贮藏:会取消本地修改,恢复为服务器上的版本
  3. 恢复暂存代码:右击目录->TortoiesSVN/取消贮藏->选择名称和版本->应用

8. 复杂代码合并

  • 情况:主干开发新功能,改了很多分支是线上版本,修复了很多bug
    两个分支的代码时间久了差异很大,无法直接分支合并或者指定提交记录合并代码
  1. 进入Beyond Compare(在此代码输入中文会导致乱码)

  2. 左上角输入分支路径,右上角输入主干路径

  3. 点击向下箭头,右击文件点击比较,即可比较主干与分支的差异

  4. 双击文件可进入内容对比,点击黄色箭头即可相互合并内容(记得保存)

  • 文件为黑色表示两边文件完全相同,文件为红色表示文件有差异,文件为紫色表示另一边没有这个文件
    Beyond Compare文件对比效果图
    Beyond Compare代码对比图
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值