【SVN】SVN的基本操作
文章目录
- 1 SVG简介
- 1.1 SVN是什么?
- 1.2 SVN与Git比较
- 1.3 主要应用
- 1.4 SVN仓库 (服务端)
- 1.5 SVN客户端安装
- 2 TortoiseSVN基本操作
- 2.1 检出(Checkout)
- 2.2 新增(Add)
- 2.3 提交(Commit)
- 2.4 更新(Update)
- 2.5 历史记录
- 3 SVN撤销和恢复
- 4 忽略
- 5 冲突
- 6 分支
- 7 代码暂存
- 8 代码合并
- 9 使用经验
1 SVG简介
1.1 SVN是什么?
SVN
(Subversion
)是一个开放源代码的版本控制系统,常用于多人共同开发同一个项目,实现资源共享和集中式项目管理。它具有能记住我们每次的修改,查看所有的修改记录,恢复到任何历史版本,恢复已经删除的文件等功能。
1.2 SVN与Git比较
- 使用简单,上手快
- 目录级权限控制,企业安全必备
- 子目录检出,减少不必要的文件检出
1.3 主要应用
- 开发人员用来做代码的版本管理
- 用来存储一些重要的文件,比如合同
- 公司内部文件共享,并且能按目录划分权限
1.4 SVN仓库 (服务端)
推荐:SVNBucket,中文名:SVN
桶,最好用的SVN
服务,它为每个用户提供了100M
的免费空间,如果需要更多空间,需要购买。
注册一个SVNBucket
账号,牢记该账号和密码。
1.5 SVN客户端安装
Windows:Tortoise SVN
Mac:CornerStone
这里介绍常用Windows
版本的SVN客户端Tortoise SVN
的安装:
进入Tortoise SVN
客户端官网
下载64
位最新版本
如果需要汉化,下载简体中文语言包
下载完成后,先安装Tortoise SVN
客户端(一路Next
),再安装LanguagePack
中文汉化包
安装完成后,随便在一个文件中鼠标右键单击,出现SVN
检出和TortoiseSVN
等字样,说明安装成功。
2 TortoiseSVN基本操作
2.1 检出(Checkout)
这里为方便学习使用,需要一个SVN
服务端,用来介绍下面的操作。
先登录SVNBucket
,然后点击创建项目:
填写好相关信息,点击创建即可
复制该项目的SVN
地址,到一个文件夹中进行检出。
输入用户名和密码,此处为上面SVNBucket
注册的用户名和密码,注意这里会提示输入两次,然后点击确定。
检出完成,会有一个绿色带勾标识的文件夹,这就是我们创建的项目,如果没有绿色标识,可以尝试重启一下电脑。这里的绿色标识代表本地的项目和服务器上的已经同步了。
2.2 新增(Add)
这里新建一个test.txt
文件,然后:鼠标右键》TortoiseSVN》增加
选择需要增加的文件,点击确定,那么对应的文件会有蓝色加号的标识,代表这个文件已经增加在本地系统中了
2.3 提交(Commit)
在上述文件夹中,鼠标右键点击,选择提交,出现如下界面:
其中信息栏可添加提交信息,例如新增了xx
文件,修改了xx
文件等,便于后期查看提交记录。
变更列表,列举了当前项目中所有可提交的文件,可按照自己需要勾选,勾选完成后,点击确定,出现如下界面,则提交完成,这时对应的文件,已经到SVN
服务器上了。
另外,当对某一些文件修改后,该文件就会有一个红色感叹号,这代表这个文件相较于SVN服务器上的内容发现了变化。此时,再次提交时,会发现变更列表中该文件的状态为修改。
2.4 更新(Update)
当该项目的某个成员提交了一些新内容后,可在相应的文件夹中,鼠标右键,选择更新,来获取这些新增内容。
2.5 历史记录
上面我们一共提交了2次**,鼠标右键》TortoiseSVN》显示日志**,会出现如下界面:
可以查看不同版本的提交记录,另外,可以双击该版本的文件,可以对比该文件与上一个版本的不同之处。
这里可能和你的页面有些不同,因为我的SVN
导入了第三方对比工具Beyond Compare
,这里后面会写一篇博客来讲述如何导入。
3 SVN撤销和恢复
有时候,我们可能对一些文件进行错误了修改,想要还原到修改之前的样子。
1)如果此时还未提交,可点击提交,然后右击需要还原的文件,选择SVN还原
选择还原后,该文件又恢复到了绿色标识,还原成功。
2)如果此时已经提交了,右击需要还原的文件》选择显示日志》选择最新版本》右击该文件》选择复原此版本作出的修改》还原》提交
还原后,该文件会变为红色,此时本地虽然是还原的版本,但SVN
服务器上还是错误版本,因此需要再次提交。
3)当我们需要回退到历史版本中的某个版本时,我们可以右击需要回退的版本,选择复原到此版本即可。
4 忽略
当我们提交文件时,会发现提交页面中的变更列表会将所有变更文件显示出来,而我们只需要提交其中部分文件,文件较少时,可以勾选,当文件较多时就不得不使用忽略了。
对于单个不需要提交的文件,可鼠标右击》TortoiseSVN》去除版本控制并增加到忽略列表》选择忽略的文件
如果需要忽略这一类型的文件,可选择有通配符文件选项,例如下图中的*.dll
,选择后,以后所有具有.dll
后缀的文件都不会出现在提交列表中了。
5 冲突
冲突将单独用一篇博客来进行说明。
6 分支
传统的SVN
会有**trunk(主干)、branches(分支)、tag(标签)**三个目录
trunk
目录一般是一个项目开发时用来构建代码,branches
一般用于项目发布时,创建一个分支到此目录,发布时出现的问题在此目录中进行修改,后可通过代码合并到主干上。
此时新建这三个目录,然后:右击trunk目录》TortoiseSVN》分支/标记》路径选择branches》确定》路径后加上项目名称与版本号》确定
这样就在branches
目录中创建了truck
目录中test
项目的分支testv1.0
,创建之初,test
和testv1.0
并无区别。
7 代码暂存
如果我们正在某一项目中开发新功能,突然有一个紧急bug
需要修改,这时我们的代码又编译不过,为了应对这种情况,我们可以使用SVN
的暂存功能,将我们当前新修改的代码贮藏起来,等解决bug
后取消贮藏继续开发。
8 代码合并
通常将分支修改的代码合并到主干中,但由于此时主干和分支差异较大,需要借助第三方工具Beyond Compare
来进行合并。
9 使用经验
提交前一定要先更新
提交前一定要保证自己的代码能够编译通过
不要忘记提交一些没有版本控制的文件(例如新增加的文件,没有进行增加操作,提交时是不会识别出来的)
其它的后面再补充
【SVN】SVN的基本操作相关推荐
- Cannot checkout from svn: svn: E155000: ‘XXX‘ is alrea
Cannot checkout from svn: svn: E155000: 'XXX' is alrea 原因1:svn地址错误 输入的svn地址不对,仔细检查一下 原因2:svn 冲突 新建的这 ...
- [svn]svn conflict 冲突解决
[svn]svn conflict 冲突解决 转自:http://www.gezila.com/tutorials/17290.html 目录: 1. 同一处修改文件冲突 1.1. 解决方式一 1.2 ...
- 什么是SVN?SVN的简介安装和使用
目录 1.SVN 1.1什么是SVN 1.2SVN的作用 1.3常见的版本控制工具 1.4SVN的使用 1.4.1SVN基本使用原理 1.4.2SVN使用模式 1.4.3SVN工作方式 1.5SVN ...
- TortoiseSVN Show Log 出错:svn/***/!svn/*** path not found
原本正常的 TortoiseSVN 1.8.12 ,突然出了问题,Repo-browser浏览SVN时,URL如果使用SVN的root根路径https://172.16.16.xx:8443/svn, ...
- Linux CentOS下配置SVN+SVN勾子
环境介绍: 操作系统:CentOS release 6.5 (Final) 64位 网络环境:内网 1 配置SVN 1.1 安装SVN组件包 使用yum安装svn所需的组件包 # yum –y ...
- zbb20170607 svn SVN服务器搭建和使用
安装版本 VisualSVN-Server-3.6.3-x64.msi 下载地址 https://pan.baidu.com/disk/home#list/vmode=list&path=%2 ...
- linux trac svn,SVN+Trac版本库的创建和Trac环境设置
上午接到一个小任务,老师让给点云小组在Trac上添加一个SVN仓库和项目管理平台.虽然我们组在Trac上已经工作了一年多了,但是之前的配置工作都是由唐大牛来做的,我只是做做版本控制.现在大牛毕业了,实 ...
- SVN——SVN项目迁移到GIT
svn有很多优点,但是git的出现对svn的冲击的确很大,现在很多公司项目的都迁移的git上了,下面是我自己在做svn迁移项目到git上面时候整理的一些资料,包括svn的提交日志记录也迁移到Git上面 ...
- svn——svn commit 用法
转载 原文:https://blog.csdn.net/qq_39790633/article/details/103700391 使用svn进行代码的提交有两种方法:一种是通过TortoiseS ...
- [SVN]svn如何生成patch和打(导入)patch文件的简单方法
转自 https://blog.csdn.net/ameyume/article/details/7766722 生成patch文件: svn diff > patchFile // 整个工程的 ...
最新文章
- socketserver模块用法,多道技术、 基于UDP的简易版QQ
- 我的世界服务器背景音乐修改,我的世界怎么添加背景音乐 修改添加bgm音乐方法...
- AIX进程监控与管理
- 青客宝团队redis内部分享ppt
- 智能巡检云监控指标的实践
- Lucene中string docvalues使用utf-16的优化
- php 开发商城 注意,开发PHP商城要注意的一些常见安全问题
- 【差分算法入门】例题讲解(代码逐句分析)
- 计算机中反三角函数怎么算,计算器怎么算反三角函数?
- Node+puppeteer学习笔记(五)--API问题解决--使用功能强大的“ eval ”函数
- 新能源车牌 普通车牌 特殊车牌正则校验
- 新连接、新生意、新生态,专访快手商业生态开放平台
- linux dd命令实战
- 海康摄像头二次开发详解,包含海康摄像头登录、海康云台控制、视频下载等功能
- 微信公众号模板消息申请开通流程
- GitStats - 统计Git所有提交记录工具
- 页面实时显示当前时间
- 如何搭建一个Vue项目和配置环境
- html5电脑配置,H310C主板福音来临!八代奔腾G5400核显组装电脑配置清单及价格
- 气温常年在25度的地方_全国哪几个城市的温度是长时间25度左右,适合居住的。...