SVN的使用手册

本文系统介绍了SVN的常见操作。

检出项目

加入项目已经在服务器的仓库里,那么现在你要做的就是把它检出到本地。

首先,创建一个空文件夹。在空文件夹内右键,选择SVN检出。

现在你看到应该是这个界面,填入版本库地址,选择确定。

 

如果是第一次登录,此时会弹出一个对话框,让你输入账号、密码,你正确输入即可。 记得勾选保存认证,不然每次操作都会让你输入。

过几秒就会检出完成。这样本地就有了SVN上的库了。

 找到目录就可以开始工作了。

 导入项目

右键选择版本浏览器

 弹出以下界面,输出想上传到的SVN地址

 根据自己的项目上传你的文件或者文件夹

 选择你的项目或者文件后,需要输入“对自己做的功能的简单说明”,它作为日志关联到这个版本。

 等到看到目录完成,就可以了。

需要注意的是,不要以为导入成功就可以了。你还得重新检出,重新检出的项目才是受SVN控制的,务必记得检出!!!如果不检出,你操作的属于你没有上传之前的文件,当你下次上传时,可能会出现问题。

在SVNProject上右键检出到本地,然后在里面进行修改。现在就可以愉快的工作了。

检出过后,右键单击文件,菜单会变成这样。 

关于项目的提交

绿色表示当前文件没有被修改过(看不见颜色的切换下目录就好了)。

如果在我的Dome里面对代码进行了修改。你就会发现现在变成了红色,红色表示已修改。

 

提交修改

 在根目录下,邮件选择提交。

 务必记得输入提交信息(虽然不输入也能提交),提交信息可以方便日后查看。

 提交完毕后,可以发现又恢复到了绿色。如果看到还是红色,可以退出后再进入就行了。

 新增文件

假如现在加入了一个新文件。可以看出是蓝色的。蓝色表示不属于版本库的未知文件,未知文件是不能提交的。也有可能什么都不显示

记住选择增加,把它加入到版本库里面去。

 增加完毕后,变成了蓝色加号,表示新增加的版本库文件。

 接下来,只需写代码,然后提交即可。

删除文件

删除文件,也应该右键文件操作,如下

 注意:记得随时检查你的文件状态,如果没有添加到版本控制里要及时添加进去,不然你的文件提交不上去。

更新

        假如你和B同事在协作。B同事写完代码提交到了SVN上。如果你想获取最新修改,就需要选择更新(如果服务器上已经有别人提交过新的,你是提交不上去的,必须先更新再提交)。

        怎么知道服务器有没有更新?你可以直接选择更新,有没有更新一下就知道。或者,右键检查修改,然后检查版本库,就能看到服务器上改了哪些文件。

 右键选择版本比较,左边表示你的代码,右边表示服务器上的代码。

 注意,如果SVN上别人有修改,一定要记得及时更新到本地,然后再继续工作。没有更新会提交失败,如下图。

 但是,有时候更新会冲突,比如你和服务器上的改了同一个地方。这时候你需要更新下来解决冲突。

于是,可以查看日志,看前面谁进行了相同模块的更改。方便代码覆盖相同进行协商。

 

 它会提示你哪个文件冲突,你只需打开那个文件,按照需求解决冲突即可。

解决冲突的三种选择:

        1、放弃自己的更新,使用 svn revert(回滚),然后提交。在这种方式下不需要使用 svn resolved(解决);

        2、放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,执行 resolved filename,并提交(选择文件——右键——解决);

        3、手动解决:冲突发生时,通过和其他用户沟通之后,手动更新目标文件。然后执行 resolved filename来解除冲突,最后提交。

如果降低冲突解决的复杂度:

        1、当文档编辑完成后,尽快提交,频繁的提交/更新 可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。

        2、在提交时,写上明确的message,方便以后查找用户更新的原因。毕竟随着时间的推移,对当初更新的原因有可能会遗忘。

        3、养成良好的使用习惯,使用SVN时每次都是先提交,后更新。每天早上打开后,首先要从版本库获取最新版本。每天下班前必须将已经编辑过的文档都提交到版本库。

查看日志

右键单击工程文件,选择显示日志,可以看出团队里面的人干了什么。

可以看出谁谁谁,什么时间,干了什么事儿。最后那一刻信息是自己提交的时候写的。

建议大家提交时务必要填写提交信息,这样别人一看就知道你干了什么。提交信息对于自己也是有好处的,时间长了也能看到当初做了什么。。

版本回滚

如果你改了东西,但是还没有提交,可以使用还原工程。方法:右键单击工程文件,选择SVN还原。

回滚到指定版本

但是,如果我们写错了东西并且提交了上去,怎么办呢?通过版本回滚,可以将文件恢复到以前的版本。方法:右键单击工程,选择更新至版本,通过查看日志来选择版本,然后回滚即可。

查看以前版本的代码

 有时候我们需要查看以前版本的代码,此时,我们可以新建一个文件夹,检出到指定版本,不要把现在自己编写的版本覆盖就好。

版本控制

版本控制有好几种方法,如下:

       1、在提交发布版本时,添加版本信息,这是最简单的一种方法。

         2、打标签。每次发布版本时,应该打标签。右键选择 分支/标记。在至路径以版本号打上标签即可。

 这样你就有了一个v1.0版本的标签。

以后如果你想查看某个版本的代码,只需切换过去就行。

 

创建分支及合并操作

项目中为何要创建分支,及合并?

        比如我现在项目所有的文件放在主干上,由于需求的变更,需要增加新的需求,但是我们主干上还要继续往下开发,在此,我们可以新建一个分支,来做增加新的需求那一块,主干上继续开发,等分支上代码没有问题的时候,再合并到主干上来。

        创建分支的最大目的就是跟主线进行并行开发的时候,不影响主线的开发。

如何操作?

        假如我本地新建一个文件夹test下有2个文件夹Cs(存放主干上的代码)和C_s(存放分支上的代码),如下所示:

 新建分支

        从Cs(主干上)创建分支C_s步骤如下:右键Cs

        现在我们可以再来看看本地branch文件夹了,我现在直接进入branch文件下,右键->Checkout下,就可以把newBranch下的所有文件提取出来了,如下所示:

        

         现在我们可以再来看看本地test文件夹了。我现在直接进入test文件下,右键->检出 下,就可以把C_s下的所有文件提取出来了,如下所示:

         分支目前建立在svn服务器端,本地并没有更新,对本地C_s文件件 右键->更新 即可,就可以更新到分支代码。

合并分支到主干上

        比如我现在对C_s分支上新增 新的.txt文件,然后提交上去。

我现在想把分支上的代码新增 新的.txt文件合并到主干上Cs,现在要怎么合并呢?步骤如下:

        1、回到我们刚刚的主干(Cs)文件夹下,鼠标右键该文件夹 -> TortoiseSVN -> Merge(合并)。如下图所示:

 

 

接着点击 【Next】下一步,如下图所示:

 

 

         就可以看到主干Cs上多加了一个新的.txt文件,就是从分支上合并过来的。

 

合并主干到分支

 如果主干上有一些更新,比如说jar包更新等等,那么这些要更新到分支上去,如何操作呢?比如我现在在主干上新建一个.txt文件。

         我现在的分支上目录如下:

         现在是想把主干上的1.txt合并到分支上来,要如何操作?

步骤如下,总体和上一个操作类似。

        我们在分支上点击C_s -> 右键TortoiseSVN -> 合并,如下图所示:

 

 

 

         最后,直接合并,就可以看到分支C_s上也有主干上的1.txt文件了,也就是说,合并主干到分支上也是可以的。结果如下图所示:

 参考文件:

        svn的安装和使用手册

        

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值