svn客户端使用教程(svn下载安装及使用教程)

svn客户端使用教程(svn下载安装及使用教程)每天分享技术栈,开发工具等

SVN: subversion,是一个开源的版本控制系统。

SVN把文件存储在中心仓库中,这个中心仓库就像文件系统一样,不同的是,它可以记录每次修改的情况,借助于此就能够非常清楚的知道文件的变更情况。

SVN之前的CVS(已经过时),Git(Android开发流行之后才慢慢流行的)。

版本的概念由何而来?

A提交了一次代码,给一个版本号1

B提交了一次代码,给一个版本号2

….

每提交一次代码版本号 1,这样每次提交的文件都会有一个版本号对应,便于管理,通过版本号来控制就叫做版本控制软件。

提交文件内容的同时,把文件的元数据(描述数据的数据)比如,文件的修改日期、修改人、修改原因(备注或者注释)等,有了这些元数据信息,我们才能够更好的去恢复版本,追责等。

SVN和版本控制软件SVN和版本控制软件的关系好比Mysql和数据库软件的关系,SVN只是版本控制软件的一种,还有其他的。git

SVN基本情况

SVN服务端软件:VisualSVN

SVN客户端软件:TortoiseSVN(外号:小乌龟)

SVN: subversion,是一个开源的版本控制系统。

SVN把文件存储在中心仓库中,这个中心仓库就像文件系统一样,不同的是,它可以记录每次修改的情况,借助于此就能够非常清楚的知道文件的变更情况。

SVN之前的CVS(已经过时),Git(Android开发流行之后才慢慢流行的)。

来张图帮你更好的理解SVN的工作套路!

开始上安装教程

SVN服务器端软件在实际企业环境下往往会安装在linux下,我们学习使用安装在Windows下。

VisualSVN安装及创建仓库

双击安装文件(根据实际情况选择32bit/64bit)

安装服务端软件 管理工具 命令行客户端模式

在服务管理中查看“VisualSVN Server”服务是开启状态

VisualSVN创建工程目录

VisualSVN创建项目工程目录(一般一个项目会创建一个工程目录,方便授权,不同项目组的人有不同项目目录的访问权限)

VisualSVN创建用户

注意:用户名和密码是大小写敏感的

VisualSVN创建用户组

创建用户组是为了便于授权,比如一个项目中,某几个人是测试人员,某几个人是开发人员,那么开发人员的权限是读写,测试人员权限可能只是读没有写权限。

VisualSVN分配权限

分配权限可以按照用户分配,也可以按照用户组分配。

TortoiseSVN安装与使用

安装路径中不要出现中文和空格。

注意:安装之后重启电脑。

验证TortoiseSVN安装是否成功

在任意目录下右键,右键菜单出现如下选项即为安装成功

TortoiseSVN常用操作

实际企业环境下,我们往往不能直接操作服务器端,只能通过客户端操作。

svn图标

浏览仓库

清理客户端用户名/密码缓存

检出Checkout

检出之后有一个隐藏文件夹,本地文件夹和远程文件夹维护关系的元数据

添加Add

在目录下新建一个HelloWorld.java,这样的图标代表该文件尚未交给SVN管理

Add之后,这样的图标代表已经和SVN建立联系,但尚未提交。

提交Commit

注意:这里的版本号和软件开发的给软件定义的版本号不是一个意思。

更新Update

将SVN服务器上的最新内容更新到本地

更新到历史某一版本

查看提交日志

更新到历史某一版本

也可以通过另外一种方式来更新

删除Delete

我们把本地文件删除,必须要提交,才能真正从服务器上删除

这样删除如果没有提交,还是可以恢复的

因此,要提交删除操作,在被删除文件所在的文件夹内右键执行提交

导入导出

导入

导出

检出(内容 svn关系)

导出(仅内容)

冲突问题与解决

多个用户同时操作同一个文件时,就可能产生冲突情况。

冲突产生后,可以手动Merge,解决冲突后,重新commit

HelloWord.java:服务器上文件和本地文件的合并

HelloWord.java.mine:本地修改后的文件

HelloWord.java.r6:修改前的文件

HelloWord.java.r7:对方修改后的文件

避免冲突注意:

写东西之前再更新

勤更新勤提交

别对同一个文件进行操作(所以拆分)类似于@Import注解

为什么分布式开发,为什么配置文件分那么细啊是吧,避免冲突的几种方式

分布式可以避免冲突

Servlet详解(一)之基本概念

2020-10-22

专攻知识小点——回顾JavaWeb中的servlet(二)

2020-10-24

专攻知识小点——回顾JavaWeb中的servlet(三)

2020-10-25

温故知新之javaweb中的servlet(四)

2020-10-27

HttpServletRequest详解 外加请求转发和重定向口述讲解(五)

2020-10-28

2020-IT咸鱼挑灯夜战整理的java学习资料奉上(推荐收藏)

2020-10-26

END

发表评论

登录后才能评论