SVN——强大的版本管理系统[通俗易懂]

SVN——强大的版本管理系统[通俗易懂]SVN——强大的版本管理系统

大家好,又见面了,我是你们的朋友全栈君。

SCM理论基础

    在一个大型的项目中,会有很多人员,比如说项目管理者、开发人员等,人多的情况下,很可能就会在及时沟通、管理等方面出现问题,具体可以总结为:

 SVN——强大的版本管理系统[通俗易懂]

    这些问题的存在,不仅会使我们的开发效率很低,做出来的产品质量也会受影响。有了SCM,就很好的解决了这些问题。

SCM

SoftwareConfiguration Management:软件配置管理,也就是软件版本控制,它是一门用来记录并控制软件产品数据的管理学科,在整个软件开发过程中占有很重要的位置。

SCM可以在整个软件开发过程中标识变化、控制变化、保证变化被适当发现以及向其他有兴趣的人员报告变化。

SCM中的基本概念:

1.Repository(仓库):存放项目人员操作的项目的各个版本。

2.Workspace(工作台):从仓库中拿出来一些特定版本的文件就组成了一个工作台。

3.Delta:可以理解为版本。

4.Baseline(基线)

5.Branch(分支):在一个项目或文件的发展过程中,会产生一系列的分支。

6.Label(标签)

SCM的作用:

1.Versioncontrol:版本控制

2.Historyrecord: 记录历史

3.AccessControl:控制对特定资源的访问权限

4.Processcontrol:对于整个软件过程的管理

SVN实践

SVN(Subversion):是一个开放源代码的版本控制系统。

使用SVN的好处:

1.及时了解团队中其他成员的进度

2.轻松比较不同版本间的细微差别

3.记录每个文件成长的每步细节,利于成果复用

4.资料共享

安装软件:SVN版本控制系统又可以分为服务端和客户端,想要了解并使用客户端和服务端来控制软件的开发版本,首先需要安装客户端和服务端,安装过程很简单,一直下一步就OK了。基本上没有问题,如果有问题,相信大家也会解决的。

创建中心库:安装好服务端后,我们就可以创建中心库,用来存储软件的各个版本,这就记录了一个软件的开发过程。(右击Repositories,选择create new Repositories)

创建用户:右击Users,选择create User,当客户端连接服务端时,输入我们现在创建的用户名和密码就可以连接上服务端了。

权限控制:我们可以对刚刚创建的用户设置权限,比如说只读,读写等等。

服务端和客户端的交互:

客户端从服务端检出版本:也就是相当于下载,安装好客户端后,在桌面上右击,选择SVN Checkout。

客户端提交更新版本到服务端:首先执行commit(提交),然后update(更新),我们修改的版本就同步在服务端了。

从客户端添加新的资料并同步到服务端:右击想要添加的文件,选择TortoiseSVN下的Add就可以了。

版本还原:执行Revert,撤销本地所有未提交的修改。

冲突

定义:当团队协同工作时,当多位团队成员同时修改同一个文件,造成本地文件与SVN系统中的文件版本不一致,而导致的无法提交的情况。

如何解决冲突:

1.使用工具解决冲突。

2.使用revert放弃所做的修改。


    关于SVN的知识很简单,在项目中多去用,就会很熟练的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105759.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue里如何实现excel转json的功能「建议收藏」

    Vue里如何实现excel转json的功能「建议收藏」前言:因为做微信小程序云开发,在云开发导入数据需要json格式的,然鹅我们市场部的小姐姐给我的文档是excel文件,导致我需要去手动录入,后来在网上搜了下。有通过复制excel文件内容粘贴后生成的:http://www.jsonla.com/excel2json/有通过上传excel文件后生成的json文件下载却需要付费的:http://www.yzcopen.com/doc/exceljson搞得那么难受不如自己写一个,效果图如下:使用地址:https://test-mars.qtshe.c

    2022年5月21日
    88
  • git取消跟踪已版本控制的文件

    git取消跟踪已版本控制的文件

    2021年11月22日
    38
  • HasStatic是什么意思java_java – getstatic在字节码中真正意味着什么?

    HasStatic是什么意思java_java – getstatic在字节码中真正意味着什么?我有这个字节码:newjava.lang.Object//stackis[newObjectRef]dup//Stackis[newObjectRefnewObjectRef]invokespecialvoidjava.lang.Object.()//Stackis[initializedAsTypeObjectObjectRe…

    2022年8月30日
    4
  • AVC1与H264的区别

    AVC1与H264的区别今天上网时偶尔发现这个在我脑海里疑惑的问题的答案。H.264VideoTypesThefollowingmediasubtypesaredefinedforH.264video.SubtypeFOURCCDescri

    2022年6月17日
    49
  • 递归算法时间复杂度分析[通俗易懂]

    递归算法时间复杂度分析[通俗易懂]递归算法时间复杂度分析时间复杂度:一般情况下,算法中基本操作重复的次数就是问题规模n的某个函数f(n),进而分析f(n)随n的变化情况并确定T(n)的数量级。这里用‘o’来表示数量级,给出算法时间复杂度。T(n)=o(f(n));它表示随问题规模n的增大,算法的执行时间增长率和f(n)增长率成正比,这称作算法的渐进时间复杂度…

    2022年5月14日
    67
  • file.getcanonicalpath_maven relativepath

    file.getcanonicalpath_maven relativepathThymeleafcontextPath的获取1.在html标签中路径使用@{}会自动添加上下文路径 eg:请求/thymeleaf接口 <ath:href="@{‘/thymeleaf’}"id="contextPath">跳转到thymeleaf</a>2.在js中 eg:请求/thymeleaf接口 //根路径获取相当于jsp的使用${pageContext….

    2025年12月15日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号