SVN学习笔记 svn入门
yuyutoo 2024-11-02 15:22 2 浏览 0 评论
一. SVN
1.什么是SVN
SVN: subversion 子级版本 (子级源代码版本控制管理软件)
svn:全称Subversion,是代码版本管理软件,管理着随时间改变的数据。这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。 许多人会把版本控制系統想像成某种 "时光机器"。
使用svn可以很好地协调一个团队共同开发同一个项目,而不会出现代码冲突、覆盖的情况。
SHAPE \* MERGEFORMAT
上图是多人共同开发同一个项目,内部最大的问题是,在比较短的时间内如果有多人同时开发同一个文件,会造成彼此代码覆盖的情况发生。A的代码在最后会把B的代码给覆盖掉,10点以后就只体现A程序员的功能效果。
SVN其中的作用一个就是避免上述情况发生。
2. 使用svn的作用
① 多人开发同一个项目不会出现代码覆盖情况。
② 针对一个文件可以创建许多不同版本,并且可以随时查看不同版本的内容。
③ 公司领导可以通过svn查看每个人的工作情况
二. SVN的安装
1. 服务器端安装
2. 客户端安装
3. 创建多个svn仓库(存储代码)
> svnadmin create h:/svnServer/app/shop
4. 启动仓库服务
> svnserve -d(独立端口运行) -r(仓库地址) 仓库地址
> svnserve -d -r h:/svnServer/app/shop //启动shop仓库服务
该svn服务走svn协议,端口号码是3690
5. 使得本地客户端(码农)与仓库取得联系
> 右键------> checkout
三. 使用svn服务
1. 给svn仓库提交第一个程序文件
步骤:
① 右键------> SVN---->Add
(本地的.svn对该文件形成管理)
② 右键------> Commit
(本次的文件提交给svn仓库)
1.1 文件颜色标志
① 蓝色加号:本地的.svn对该文件有形成管理
② 绿色对号:本地文件、.svn管理的版本文件、仓库文件 三者一致
③ 红色叹号:本地文件 与 .svn和仓库文件 不一致(用户自己修改了该文件)
④ 黄色叹号:表示该文件正处于冲突状态
2. 多个程序员给仓库提交文件
SHAPE \* MERGEFORMAT
3. 同时运行多个svn仓库服务
把所有仓库的上级目录当成服务给启动起来。
· svnserve -d -r d:/svnServer/app/
主机名:svn://localhost ---------------->app目录
svn://localhost/student---------->与student仓库取得联系
svn://localhost/book------------->与book仓库取得联系
svn://localhost/shop-------------->与shop仓库取得联系
3.1 旧用户更换svn主机名
删除.svn文件,断开与仓库的联系
重新checkout通过svn新主机名建立与仓库的联系
4. 同一个文件的不同版本切换
一个程序文件可以在svn仓库里边形成许多不同版本,并可以随时查看。
总结:
1. 安装svn的服务器、客户端软件
2. 创建仓库(根据不同的项目创建对应的仓库)
> svnadmin create 仓库地址
3. 使用svn( checkout update commit )
4. 启动svn仓库服务
> svnserve -d -r 仓库地址
四.冲突解决(重点)
上图两个程序员在短时间之内共同开发同一个程序文件(goods.php)
10点以后系统只会体现linken开发的功能(mary开发的功能被linken给覆盖了)
文件覆盖的解决:
① 给每个文件分配一个"令牌",谁拿到令牌谁就有权利开发该文件
(同一个程序文件同一个时间点只允许有一个人开发)
② 给每个文件设置一个版本号码,提交的时候如果服务器的版本等于本地版本号码就允许提交,否则不允许提交(本地号码 小于 服务器版本)
冲突:
广义角度的冲突,提交程序文件 本地版本号码 小于 服务器版本号码
狭义角度的冲突,多个程序员对同一个文件同一处代码的修改再共同提交文件的时候回产生冲突。
1. 冲突具体形式:
1.1大家修改的代码不在同一处
解决:
执行update操作,把仓库最新的文件更新到本地,并和本地文件做Merge融合操作。
继续提交文件即可。
1.2 大家修改的代码在同一处
无论什么样子的冲突:解决就是通过update把最新的版本更新到本地,文件稍作修改后继续提交。
五. 账号和权限
1. 设置账号
2. 给账号设置权限
2.1 给具体用户设置权限
2.2 给一个组别设置权限
2.3 开启只操作某个目录权限
步骤:
① 管理员先把该目录给创建出来并提交给svn仓库
② 外包团队给该 目录提交文件
③ 管理员删除本身创建的目录,执行update更新操作,即可查看外包团队的工作情况
六.设置开机启动项服务
七. 真实环境使用svn
总结:
1. 冲突解决
类型:大家修改代码在(不在)同一处
解决:统一执行update操作,服务器文件会和本身文件做融合(大家的版本号码统一),文件代码做适当调整继续提交
2. 账号和权限设置
(把匿名账号设置为none)
权限设置:
① 具体用户权限设置
② 给组别统一设置权限
③ 给用户设置只操作某个目录的权限
3. 给svn设置服务
> sc create 名称 binpath= "服务执行文件 -r 服务仓库地址 --service" start= auto
>sc delete 名称
作业:
1. 组长搭建svn服务,并给组员设置用户名和密码、权限
2. 组员使用svn服务,进行commit和update操作
相关推荐
- jQuery VS AngularJS 你更钟爱哪个?
-
在这一次的Web开发教程中,我会尽力解答有关于jQuery和AngularJS的两个非常常见的问题,即jQuery和AngularJS之间的区别是什么?也就是说jQueryVSAngularJS?...
- Jquery实时校验,指定长度的「负小数」,小数位未满末尾补0
-
在可以输入【负小数】的输入框获取到焦点时,移除千位分隔符,在输入数据时,实时校验输入内容是否正确,失去焦点后,添加千位分隔符格式化数字。同时小数位未满时末尾补0。HTML代码...
- 如何在pbootCMS前台调用自定义表单?pbootCMS自定义调用代码示例
-
要在pbootCMS前台调用自定义表单,您需要在后台创建表单并为其添加字段,然后在前台模板文件中添加相关代码,如提交按钮和表单验证代码。您还可以自定义表单数据的存储位置、添加文件上传字段、日期选择器、...
- 编程技巧:Jquery实时验证,指定长度的「负小数」
-
为了保障【负小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【负小数】的方法。HTML代码<inputtype="text"class="forc...
- 一篇文章带你用jquery mobile设计颜色拾取器
-
【一、项目背景】现实生活中,我们经常会遇到配色的问题,这个时候去百度一下RGB表。而RGB表只提供相对于的颜色的RGB值而没有可以验证的模块。我们可以通过jquerymobile去设计颜色的拾取器...
- 编程技巧:Jquery实时验证,指定长度的「正小数」
-
为了保障【正小数】的正确性,做成了通过Jquery,在用户端,实时验证指定长度的【正小数】的方法。HTML做成方法<inputtype="text"class="fo...
- jquery.validate检查数组全部验证
-
问题:html中有多个name[],每个参数都要进行验证是否为空,这个时候直接用required:true话,不能全部验证,只要这个数组中有一个有值就可以通过的。解决方法使用addmethod...
- Vue进阶(幺叁肆):npm查看包版本信息
-
第一种方式npmviewjqueryversions这种方式可以查看npm服务器上所有的...
- layui中使用lay-verify进行条件校验
-
一、layui的校验很简单,主要有以下步骤:1.在form表单内加上class="layui-form"2.在提交按钮上加上lay-submit3.在想要校验的标签,加上lay-...
- jQuery是什么?如何使用? jquery是什么功能组件
-
jQuery于2006年1月由JohnResig在BarCampNYC首次发布。它目前由TimmyWilson领导,并由一组开发人员维护。jQuery是一个JavaScript库,它简化了客户...
- django框架的表单form的理解和用法-9
-
表单呈现...
- jquery对上传文件的检测判断 jquery实现文件上传
-
总体思路:在前端使用jquery对上传文件做部分初步的判断,验证通过的文件利用ajaxFileUpload上传到服务器端,并将文件的存储路径保存到数据库。<asp:FileUploadI...
- Nodejs之MEAN栈开发(四)-- form验证及图片上传
-
这一节增加推荐图书的提交和删除功能,来学习node的form提交以及node的图片上传功能。开始之前需要源码同学可以先在git上fork:https://github.com/stoneniqiu/R...
- 大数据开发基础之JAVA jquery 大数据java实战
-
上一篇我们讲解了JAVAscript的基础知识、特点及基本语法以及组成及基本用途,本期就给大家带来了JAVAweb的第二个知识点jquery,大数据开发基础之JAVAjquery,这是本篇文章的主要...
- 推荐四个开源的jQuery可视化表单设计器
-
jquery开源在线表单拖拉设计器formBuilder(推荐)jQueryformBuilder是一个开源的WEB在线html表单设计器,开发人员可以通过拖拉实现一个可视化的表单。支持表单常用控件...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)