SVN的安装和使用手册
下载`TortoiseSVN
官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/
下载完成后是这样的 安装TortoiseSVN:
此处的安装地址建议不动,当然你也可以选择你要安装的地址
安装完成后在桌面点击右键查看
如果有标记的两个文件说明已经安装成功.
如果感觉英语看到有点困难的可以安装汉化TortoiseSVN:
下载语言包 :
下载地址:http://tortoisesvn.net/downloads.html
下载完后直接点下一步就OK了。
选择中文确定就ok了。
使用说明
检出项目
假如项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。
首先创建一个空文件夹。在空文件夹内右键,选择SVN检出。
现在你看到应该是这个界面,填入版本库地址,选择确定。
如果是第一次登陆,此时会弹出一个对话框让你输入账号密码,输入你的账号密码即可。记得勾选保存认证,不然每次操作都会让你输入。
过几秒就会检出完成
找到目录就可以开始工作了
导入项目
右键选着版本浏览器
根据自己的项目上传你的文件或者文件夹
选着你的项目或者文件后
确定看到目录完成就行了
但是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出,如果不检出你操作的属于你没有上传之前的文件,当你下次上传可能会出现问题。
在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。
检出过后点击文件夹然后右键菜单变成了这样。
关于项目的提交
绿色表示当前文件没有被修改过(看不见颜色的重启下电脑就好了)。
如果在我的Dome里面对代码进行了修改。你就会发现现在变成了红色,红色表示已修改。
怎么提交修改?
在根目录下,右键选择提交。
务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。
提交完毕后,可以发现又恢复到了绿色。如果看到还是红色可以退出后在进入就行了。
假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。有可能什么都不显示。
或
记住选择增加把它加入到版本库里面去。
增加完毕后,变成了蓝色加号,表示新增加的版本库文件。
接下来,只需写代码,然后提交即可。
删除文件也应该右键提交,如下。
记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。
更新:
假如你和B同事在协作。B同事写完代码提交到了SVN上,如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过的新的,你是提交不上去的,必须先更新再提交)。
怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。
右键选择版本比较。左边的表示你的代码,右边的表示服务器上的代码。
如果有修改记得及时更新到本地然后再继续工作。没有更新会提交失败。
但是有时候更新会冲突,比如你和服务器上的改了同一个地方。
这时候你需要更新下来解决冲突。
于是可以查看日志,看前面谁进行了相同模块的更改。方便代码覆盖相同进行协商。
它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可
解决冲突有三种选择:
A、放弃自己的更新,使用svn revert(回滚),然后提交。在这种方式下不需要使用svn resolved(解决)
B、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行resolved filename并提交(选择文件—右键—解决)。
C、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行resolved filename来解除冲突,最后提交。
如何降低冲突解决的复杂度:
1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。
2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘
3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。
查看日志
择显示日志,可以看出团队里面的人干了什么。
可以看出谁谁谁,什么时间,干了什么事。最后那一列信息是自己提交的时候写的。建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。
版本回滚
如果你改了东西,但是还没有提交,可以使用还原功能。
但是如果我们写错了东西并且提交了上去怎么办?通过版本回滚可以将文件恢复到
以前的版本。右键更新至版本,通过查看日志来选择版本,然后回滚即可。
有时候我们需要查看以前版本的代码。此时我们可以新建个文件夹检出到指定版本,不要把现在自己编写的版本覆盖就好
版本控制
版本控制有好几种方法,如下。
1. 在提交发布版本时添加版本信息,这是最简单的一种方法。
2.打标签
每次发布版本时应该打标签。右键选择分支/标记。在至路径以版本号打上标签即可
这样你就有了一个v1.0版本的标签。
以后如果你想查看某个版本的代码,只需切换过去就行
创建分支合并相互操作
项目中为何要创建分支,及合并?
比如我现在项目所有的文件放在主干上中,由于需求的变更,需要增加新的需求,但是我们主干上还要继续往下开发,在此我们可以新建一个分支,来做增加新的需求那一块,主干上继续开发,等分支上代码没有问题的时候,再合并到主干上来。
创建分支的最大的目的就是跟主线进行并行开发时候不影响主线的开发。
如何操作?
假如我本地新建一个文件夹test下有2个文件夹Cs (存放主干上的代码)和C_s(存放分支上的代码),如下所示:
新建分支
从Cs(主干上)创建分支C_s步骤如下:右键Cs
现在我们可以再来看看本地branch文件夹了,我现在直接进入branch文件下,右键 --> Chenckout下,就可以把newBranch下的所有文件提取出来了,如下所示:
现在我们可以再来看看本地test文件夹了,我现在直接进入test文件下,右键 --> 检出下,就可以把C_s下的所有文件提取出来了,如下所示:
分支目前建立在svn的服务器端,本地并没有更新,对本地C_s文件夹 右键--> 更新即可,就可以更新到分支代码.
合并分支到主干上
比如我现在对C_s分支上新增 新的文件.txt文件,然后提交上去
我现在想把分支上的代码新增 新的文件.txt合并到主干上Cs,现在要怎么合并呢?步骤如下:
1. 回到我们刚刚的主干(Cs)文件夹下,鼠标右键该文件夹--> TortoiseSVN --> Merge(合并) 如下图所示:
接着点击【Next】下一步,如下图所示:
就可以看到主干Cs上多加了一个新的文件.txt,就是从分支上合并过来的。
合并主干到分支
如果主干上有一些更新,比如说jar包更新等等,那么这些要更新到分支上去,如何操作呢?比如我现在在主干上新建一个1.txt文件
我现在的分支上目录如下:
现在是想把主干上的1.txt合并到分支上来,要如何操作?
步骤如下,还是和刚刚操作类似.
我们在分支点击C_s--> 右键TortoiseSVN--> 合并 如下图所示:
最后直接合并,就可以看到分支C_s上也有主干上的1.txt文件了,也就是说,合并主干到分支上也是可以的,如下图所示:
如果使用eclipse就没有这么麻烦,最多就是安装一个svn插件的问题,操作起来而且方便
SVN的安装和使用手册的更多相关文章
- linux下svn客户端安装及环境配置(转)
一. 源文件编译安装.源文件共两个,为: 1. 下载subversion源文件 subversion-1.6.1.tar.gz http://d136.d.iask.com/fs/800/1 ...
- svn 迁移至git操作手册
svn 迁移至git操作手册 项目交付.版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等.git自带了从svn迁移至git的工具命令,可很好的对 ...
- CentOS7 安装中文帮助手册
1.首先确定系统安装中文字体否 locale 2.rpm安装中文帮助手册 挂在光盘 将man-pages-zh-CN-1.5.2-4.el7.noarch.rpm拷贝到本机 rpm -ivh man- ...
- Ubuntu SVN客户端安装
查看系统版本: uname -a (Linux查看版本当前操作系统内核信息) cat /proc/version (Linux查看当前操作系统版本信息) 1.首先需要安装Ubuntu SVN.Ubun ...
- eclipse svn插件安装方法
eclipse svn插件安装方法 使用dropins安装插件 从Eclipse3.5开始,安装目录下就多了一个dropins目录.只要将插件解压后拖到该目录即可安装插件.比如安装svn插件subcl ...
- code manager tools svn服务安装配置
svn server 安装配置: 下载地址:http://www.visualsvn.com/server/download/ 然后安装图一步一步前进: 1.点击download now: 2.点击N ...
- Myeclipse8.5 svn插件安装两种方式
第一种方式:(亲测成功)第一步:准备插件包:site-1.6.18.zip解压该包里面有features和plugins文件夹,删除该包里面的xml结尾的文件. 第二:我的Myeclipse8.5安装 ...
- Myeclipse最简单的svn插件安装方法
首先来这儿下载插件 http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 找个最新的下载 解压到对应的位置, ...
- vs2010 和 svn的结合运用,svn的安装
转自:http://www.cnblogs.com/joeylee/archive/2012/10/08/2715142.html 1:svn的安装,如何在vs2010里面添加 svn的插件呢? 在这 ...
随机推荐
- Linux服务器上配置2个Tomcat或者多个Tomcat
一.当在一个服务器上面安装2个tomcat的时候,修改第二个tomcat的conf目录下server.xml文件里面的端口号(原8080改成8081,原8005改成8006)可以达到两个tomcat都 ...
- 2018.09.19 atcoder Card Game for Three(组合数学)
传送门 简单组合数学想优化想了半天啊233. 我们只需考虑翻开n张A,b张B,c张C且最后一张为A的选法数. 显然还剩下m+k−b−cm+k-b-cm+k−b−c张牌没有选. 这样的话无论前n+b+c ...
- Android 长时间运行任务说明
android 4.0 后,小米手机需要授权 自动启动 (在安全中心权限里设置),不然AlarmManager设置系统闹钟将不起作用
- <%@ include file=""%>与<jsp:include page=""/>
https://www.cnblogs.com/sharpest/p/6117629.html
- python小练习--函数调用函数,让对象具有能动性
class Box:#定义一个类名为Box,类名后不必有括号,类包含类属性和类方法,这个类没有定义类属性 '''这是一个计算体积的类'''#这是这个类的__doc__属性,执行类后就可以在交互界面输入 ...
- UVa 1596 Bug Hunt (STL栈)
题意:给定两种操作,一种是定义一个数组,另一种是赋值,让你找出哪一步时出错了,出错只有两种,一种是数组越界,另一种是访问未定义变量. 析:当初看到这个题时,感觉好麻烦啊,然后就放过去了,而现在要重新回 ...
- addEvent兼容版
function addEvent(elem,type,handle){ if (elem.addEventlistener) { elem.addEventlistener(type,handle, ...
- 记一次web服务模块开发过程
一.前言 之前在分析WCS系统的过程中,也赶上要开发其中的一个模块,用于和AGV系统对接完成一些取货.配盘等任务:在这里将这次模块开发的全过程记录一下,以便自己以后开发时能够更加快速的明白流程. 二. ...
- passwd: Have exhausted maximum number of retries for service
使用命令passwd修改密码时,遇到如下问题:# echo 'utf8'|passwd zhangsan --stdinChanging password for user zhangsan.pass ...
- (原创)Hibernate 使用过程中(尤其是多对多关联中的级联保存和级联删除)的注意事项(基于项目的总结)
一.先上知识点: 1.hibernate多对多关联关系中最重要的参数是(基于配置文件xxx.hbm.xml文件形式): 1):inverse属性,如果设置inverse=“true”就代表让对方参与维 ...