Windows上客户端TortoiseSVN 的基本操作

1. SVN简介

1.1 SVN

SVN 分为客户端、服务端,SVNBucket 就是一个 SVN 的服务端,负责托管 SVN 的代码。

我们需要使用 SVN 的客户端来跟服务端打交道。
在 Windows 上,使用 TortoiseSVN,可视化的操作界面,集成右键菜单,非常方便。请添加图片描述

1.2 TortoiseSVN 介绍

也叫乌龟SVN,是当前 Windows 上最流行的 SVN 客户端
下载链接:https://svnbucket.com/posts/download-install-svn/

2. SVN的基本操作

命令汇总

  • 检出checkout
  • 新增add
  • 提交commit
  • 更新update
  • 历史记录

2.1 创建服务器端远程库

添加项目名字和项目简介,目录结构后期可以自己创建
在这里插入图片描述
复制远程库地址
在这里插入图片描述

2.2 SVN Checkout

桌面新建一个文件夹svntest,作为工作空间,打开文件夹,在空白处右键点击SVN Checkout
请添加图片描述
在URL of repository中输入刚才复制的远程库地址
Checkout directory中路径为刚才创建的文件夹
在这里插入图片描述
点击OK后会让你输入用户名和密码,用户名和密码即为服务器端SVNBucket的登录名和密码
在这里插入图片描述
成功之后在会svntest中生成一个.svn的隐藏文件夹,回到桌面发现这个文件夹会出现这样的标志,若没有出现就重启一下电脑
在这里插入图片描述

2.3 SVN Commit

在文件夹中创建两个文件,然后右键点击 SVN Commit,会出现以下对话框,此时这些文件还没有提交到服务端
在这里插入图片描述
将文件提交到服务端:
在你要提交的文件前面打勾,并可在Message中填写提交信息,点击ok
在这里插入图片描述
提交完成后出现以下对话框,表明以及成功提交,Added:2 表明新增了两个文件,并且在文件夹中可看到提交完成后的文件会出现一个标志
在这里插入图片描述
在这里插入图片描述
在服务端,我们可以查看提交的文件记录和提交信息
在这里插入图片描述

2.4 SVN Update

在客户端修改test.txt 文件,此时文件标志会改变
在这里插入图片描述
右键点击SVN Update进行更新,提交代码前我们应该update下代码,这是个好习惯,可以避免覆盖别人的代码和代码冲突。

在这里插入图片描述

右键点击SVN Commit,会检测出我们更改了test.txt文件,添加提交信息,然后提交。
双击文件,可以查看修改了哪些信息
在这里插入图片描述

此时客户端文件状态也发生了变化,查看服务器端,可看到我们的提交记录
在这里插入图片描述

2.5 查看日志

点击TortoiseSVN----->Show log可查看日志
在这里插入图片描述
点击对应的版本,可以查看当时提交的文件
在这里插入图片描述

3. 撤销及恢复

3.1 撤销本地修改

TortoiseSVN----->Revert
在这里插入图片描述

3.2 撤销已提交内容

在图中第三次提交为错误的提交,我们需要把它恢复
在日志中查看已提交的文件,然后点击文件右键点击Revert changes from this revision(复原此版本做出的更改)
TortoiseSVN----->Show log----->Revert changes from this revision

在这里插入图片描述
按提示恢复之后,文件为修改状态,此时文件已经恢复到没有修改之前的状态,然后我们再正常进行提交即可
文件状态
在这里插入图片描述

3.3 恢复到指定版本

打开日志,选中你想恢复到的版本,右键点击Revert to this revision

TortoiseSVN----->Show log----->Revert to this revision
在这里插入图片描述

4. 忽略文件及取消

4.1 忽略文件

博主在文件夹中新建了两个.cpp的文件,作为此次忽略的对象
如下为忽略之前的服务器端文件内容
在这里插入图片描述

在客户端的工作目录下,点击其中一个.cpp文件,右键TortoiseSVN----->Unrevision and add to ignore list ----->可选择忽略此文件(hh.cpp)
在这里插入图片描述
在这里插入图片描述
然后点击提交
在这里插入图片描述
这是服务器端的提交记录和源码
提交记录

源码内容

4.2 取消忽略

选中文件,右键TortoiseSVN----->Add

5. 解决冲突

5.1 容易发生冲突的情况

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

5.2 如何避免冲突

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

5.3 解决冲突

  • 使用他人的
  • 使用自己的
  • 编辑冲突—就是对比两个文件,然后决定冲突部分的内容使用谁的

6. 分支

6.1 使用分支情况

  • 隔离线上版本和开发版本
  • 大功能开发,不想影响到其他人,自己独立开个分支去开发

6.2 SVN经典目录结构

  • trunk:主干
  • branches:分支
  • tags:标签

6.3 创建分支

新建trunk、branches、tags这三个文件夹,并把刚才的文件移动到trunk目录下,然后提交到服务器端

新建分支
选中trunk文件夹,右键TortoiseSVN----->Branch/tags
在这里插入图片描述
弹出以下对话框之后,把创建分支的路径选择至branches文夹,v1.0为第一个版本,此文件夹不存在会自动创建,点击OK
在这里插入图片描述
右键空白处,进行更新,会查看到branches/v1.0中会出现我们之前创建的文件
在这里插入图片描述

6.5 合并分支到主干

在日志中,选择更改的版本,点击Merge revision to…
合并分支
选择trunk文件夹
在这里插入图片描述
在这里插入图片描述

此时进入到trunk文件夹,发现test.txt文件状态发生改变,只需要更新后进行提交即可
另外如果你有大量的代码需要合并或者不知道哪些提交记录需要合并,可以使用Beyond Compare来进行对比合并。Beyond Compare视频教程

6.6 切换分支

右键TortoiseSVN -----> Switch -----> 选择需要切换的分支,点击确定就可以了

7. 修改仓库地址

如果您的仓库地址变了,不需要重新checkout一份代码
快速更换:右键点击仓库根目录 -----> TortoiseSVN -----> relocate,修改仓库地址,点击确定后就修改好了
在这里插入图片描述

8. 代码暂存

暂存作用:

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

具体使用:
右键TortoiseSVN----->Shelve
在这里插入图片描述
会把你修改过的代码列出来
在这里插入图片描述

取出暂存:右键TortoiseSVN----->Unshelve----->Apply
在这里插入图片描述

Guess you like

Origin blog.csdn.net/weixin_44515978/article/details/120121411