什么是svn,以及svn的简单教程
什么是svn?
svn是最近几年新崛起的版本管理工具,被誉为是cvs的替代者。目前,绝大多数开源软件都使用svn作为代码管理软件。
目前svn服务器有2种运行方式:独立服务器和借助apache。 svn存储版本数据同样也有2种方式:分别为BDB和FSFS。
svn可以理解为一个安全虚拟网络系统,它可以将整体系统的信息安全功能合理地分布在不同的子系统中,使每个子系统的功能得到最大限度的发挥,子系统之间可以互相补充,系统整体性能大于各个子系统功能之和,用均衡互补的原则解决了"木桶原理"的问题。
svn能在跨接Internet, Intranet, Extranet间的网络所有端点实现全面的安全,可以充分利用有限的带宽。svn可以满足各种企业VPN的要求,通过为公司内部网络、远程和移动用户、分支机构和合作伙伴提供基于Internet的安全连接。
所以,我们可以将svn理解成是由VPN、防火墙、信息管理软件集成在一起的Internet安全的综合解决方案。在这样一个网络系统中,所有互联网服务器端和客户端都是安全的,并有一个信息管理机制不断地通过这个外部网络环境动态地分析来满足客户的特定带宽需求。目前svn提供了基于网络实现的eBusiness 应用的安全服务,主要包含:
1.对多种应用进行全面的安全认证;
2.可以支持多种认证及PKI
3.功能强大而且能对用户通讯加密;
4.面向用户的集中安全策略管理;
5.统一跨接Internet、Intranet、Extranet的通讯。
Svn使用教程
通过上面的了解,我们大概已经知道了什么是svn了,下面和大家分享的是,svn的简单使用教程。
一、将源代码签入到svn服务器
假设我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到svn Server上的代码库中里,首先右键点击StartKit文件夹,如下图所示:
点击Import,在弹出的窗口中,其中http://zt.net.henu.edu.cn 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库:
注解:左下角的CheckBox,在第一次签入源代码时没有用,但在以后你提交代码的时候是非常有用的。
点击OK按钮,在新弹出的窗口中输入以下内容:
输入用户名和密码,点击OK按钮:
如上图所示,源代码已经成功的签入svn服务器了。
二、签出源代码到本机
在本机创建文件夹StartKit,右键点击Checkout,弹出如下的窗口:
在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他选择默认,点击OK按钮,就开始签出源代码了。
说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入http://zt.net.henu.edu.cn/svn/StartKit/
这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。
找到StartKit目录,我们就可以看到如下图的文件夹结构:
若你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片就会发生变化。下图中我修改了其中的二个文件:
我们大家可以看一下不同状态所对应的图片:
通过上面的讲解,相信大家已经知道怎么将源代码签入到svn服务器,怎么从服务器签出代码到本机,那么下面该如何提交修改过的文件到svn服务器呢?
三、提交修改过的文件到svn服务器
上面我修改了位于Model文件中的二个文件ImageInfo.cs和NewsInfo.cs,下面讲解如何提交到svn服务器。
注意:提交源代码到服务器时,一定确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突。
在Model文件夹上点击右键或在Model文件下的空白处点击右键,点击svn Commit…弹出下面的窗体:
点击OK按钮后,弹出如下图所示的窗口:
四、添加新文件到svn服务器
我们在Model文件下添加一个新的类文件UserInfo.cs,在Model文件下的空白处点击右键,点击svn Commit…,和上面讲的提交修改过的文件到svn服务器一样,就可以了。
另外也可以在文件UserInfo.cs上点击右键,点击Tortoisesvn=>>Add,弹出如下图的窗体:
选中UserInfo.cs文件,点击OK按钮,这样并没有将这个文件提交到svn服务器,只是将这个文件标记为源代码库库中的文件,并将其状态置为修改状态。之后,我们要再svn Commit这个文件一次,才可以将其真正提交到svn服务器上的代码库中。
上面和大家讲解的是如何添加文件到svn服务器上,实际上,添加文件夹的步骤也是一样的,大家自己可以研究一下。
五、更新本机代码与svn服务器上最新的版本一致
这个也很简单,我们只要在需要更新的文件夹上点击右键或在该文件下的空白处点击右键,点击svn Update,就可以了。
注意:更新操作可能会因为版本冲突而失败,这是可以使用合并【Merge】或其他方法解决;也可能因为锁定【Get Lock】而失败,这是需要先解锁【Release Lock】。
六、重命名文件或文件夹,并将修改提交到svn服务器
只要在需要重命名的文件或文件夹上点击右键,点击Tortisesvn=>>Rename…,在弹出的窗体中输入新名称,点击OK按钮,就可以了。此方法也不是直接重命名,而是将该文件或文件夹的名称标记为重命名后名称,也需要我们使用svn Commit提交到svn服务器后才真正重命名。
七、删除文件或文件夹,并将修改后的提交到svn服务器
最简单就是,你直接删除文件或文件夹,然后使用svn Commit提交更新到svn服务器。另外一种方法是在你要删除的文件或文件夹上点击右键=>>Tortoisesvn=>>Delete删除,此方法也不是直接删除,而是将该文件或文件夹的状态置为删除,也需要我们使用svn Commit提交到svn服务器后才真正删除。
说明:实际上,从你把源代码迁签入svn服务器开始,每一个版本的数据和文件,就算是你已经删除了的,也都可以随时迁出。
注意:我们在向svn服务器提交源代码的时候,一定不要提交bin、obj等文件夹,否则会很麻烦,容易出错。但是web项目的bin目录除外,web项目的bin目录中的引用其他项目而生成的dll不需要提交。
本文链接:http://host.zzidc.com/wangluogongju/830.html
关键字:svnsvn使用教程
若无特别注明,文章皆为景安网络原创,转载请注明出处。
什么是svn,以及svn的简单教程相关推荐
- idea 从svn导入多个项目_IDEA导入项目简单教程
该教程用于IDEA初学者导入eclipse项目,或者导入其他已经写好的Java源程序的简单教程. 我们用IDEA打开一个已经写好的项目源文件时,如果没有配置好,就会出现:JDK配置失误报错.程序无法启 ...
- win10 jenkins svn android studio 自动化打包教程 以及一些问题的解决办法
win10 jenkins svn android studio 自动化打包教程 这两天搭建jenkins自动构建环境,中间遇到点坑坑洼洼 分享出来希望后来人少走些弯路 准备软件 jenkins.ms ...
- Android开发之svn命令行以及cornerston教程
mac的svn之cornerstone简易教程 用CornerStone配置SVN,HTTP及svn简单使用说明 Mac下的SVN客户端工具Cornerstone使用教程 iOS Cornerston ...
- Linux/CentOS下安装Apache/SVN/Subversion图文详解教程
Linux(CentOS)下安装Apache+Subversion(图文教程) 服务器版本和安装软件 服务器版本: RedHatCentOS 5.5 32 bit 安装软件: apr-1.3.5.ta ...
- 超详细 - SVN下载安装及使用教程
SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...
- svn初步安装使用(详细教程图文操作)
svn 1. svn概解 2. svn安装与配置 3. Eclipse集成svn 4. Svn的操作命令 1. svn概解 svn概念 SVN是subversion的缩写,是一个开放源代码的版本控制系 ...
- 【简书 DC谢老师】JMeter + jenkins + SVN 接口自动化之简单 demo
JMeter工具基础知识篇-工程目录结构及命名规范 如果没有目录结构及命名规范,你压根没法实现自动化的持续集成工作,你将被局限在工具级别的自动化上面,离测试框架或测试平台平台之路遥遥无期. 如果你想成 ...
- 代码管理工具svn个git的简单操作
svn 和 git svn 检出 svn checkout svn://地址 更新 下载 svn update svn update -r 版本 提交 svn commit 安装 yum instal ...
- linux SVN安装及配置图解教程
svn服务器有2种运行方式 1.独立服务器 (例如:svn://xxx.com/xxx): 2.借助apache.(例如:http://svn.xxx.com/xxx): 为了不依赖apache,选择 ...
最新文章
- LVI-SAM:紧耦合的激光视觉惯导SLAM系统(Tixiao Shan新作,已开源)
- 一道vector实现字典的题目 C++
- webview与js交互
- cut和tr命令的联合使用
- Google Maps JavaScript API V3 官方网站
- Kaldi的英文缩写
- 华为鸿蒙是物联网操作系统;字节跳动的飞聊被 App Store 下架;FFmpeg 作者编写 JS 引擎 | 极客头条...
- 相关矩阵可视化 – corrplot() 绘图
- java configuration类_使用@Configuration编写自定义配置类
- SQL解析处理和扩展开发工具 Java
- python123外汇兑换计算器_使用python+PyQt5 实现等额本金计算器
- fmask云检测 matlab_ENVI5.3.1云检测工具
- winxp计算机如何连接win7计算机,Win7电脑连接XP系统共享打印机的操作方法
- java horizontalbarchart_DOC-03-36 柱状图(Bar Chart)
- Oracle minus用法详解及应用实例
- JS如何实现百度地图
- 2023华中科技大学计算机考研信息汇总
- 将 多个空格 替换为一个逗号
- iOS 格式化输出 位数不足补0
- 数据处理时如何解决噪声数据?
热门文章
- win11 桌面 显示 我的电脑图标 设置方法
- Elasticsearch分页查询FromSize vs scroll vs search_after
- 视频教程-软件测试2小时入门-软件测试
- 用“设计力量变革中国”:设计成就中国高峰论坛在沪举行
- java 读者写者_Java实现生产者消费者问题与读者写者问题详解
- verilog中signed用法
- 无锡职业培训——注会可以直接学习吗?
- LR12.53—第2课:准备脚本重播
- 为什么学习大数据,大数据专家写给大数据分析学习者的10个理由
- CarSim2016.1 | 打开速度慢或者未响应