1、SVN的概述
svn是Subversion的简称,它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion容许把数据恢复到早期版本,或是检查数据修改的历史,Subversion能够经过网络访问它的版本库,从而使用户在不一样的电脑上进行操做。html
2、SVN客户端的下载与安装
下载地址:https://tortoisesvn.net/downloads.zh.htmljava
在此安装我就不作详细介绍,svn安装以后桌面空白处右击鼠标会有对应的SVN Checkout和TortoiseSVN,这个说明你已经安装成功。安装成功后从新启动电脑(不重启,可能会致使相关的图标不显示,若是重启仍是没有,请作修改对应的注册表,参考:https://jingyan.baidu.com/article/27fa73268648e846f8271f8f.html)。服务器
3、SVN的体系结构
如图所示,经过svn客户端访问svn服务能够从svn仓库中检出/更新代码到本地,也能够将本地代码提交到svn仓库。网络
4、SVN使用
1.svn的拉取项目ide
首先须要准备一个空白文件夹,右击文件夹选择SVN Checkoutsvn
输入仓库地址(地址向你的项目经理要),更换路径,选择head revision 最新版本,点击OK,第一次拉取须要登陆工具
输入用户名和密码(改用户名和密码),点击ok,拉取过程有点慢,静静等待...idea
这里拉去的是五个项目,第一次拉取,全是对钩,表示已经与svn服务器爆出同步,这里出现!是由于我修改了项目的文件,与服务器不一样。点进入一个项目,在项目的第一个文件.svn文件这里咱们不要点击它,不能进行任何修改,咱们就当忽略它。其余的目录即时咱们要的项目,在公司里,天天早上第一件事,就是须要拉取一下最新的代码,但这里咱们就不用在此checkout,而是选择SVN update,更新一下就OK了。spa
2.将本地新建文件添加到svn服务器上
首先咱们在该管理文件下,新建一个文本,咱们首先右击该文本选择TortoiseSVN,选择add,该文本会出现一个蓝色的加号标志,这个时候咱们右击该文件选择SVN commit.net
咱们每一次提交,都须要写提交的说明信息,注意是每一次提交,点击ok即提交到svn服务器上。这时候查看本身提交的文件这时候蓝色的加号会变成绿色的对钩,这时候就已经成功了。
3.查看日志
日志,你们也是知道的,日志的存在咱们可以看到svn的每一次提交版本,意思就是咱们可以看到你提交操做。如何查看日志了,选择你要查看日志的项目,右击选择TortoiseSVN,选择show log,就能看到该项目的版本,操做的人信息等。
4.SVN回退
如果不当心修改的,殊不知道在哪里修改,咱们能够右击你修改的文件选择TortoiseSVN,选择Revert,这里就是回退到服务器当前最新版本。
5.解决代码冲突
代码冲突,这确定是没法避免的,这里也是在合并代码这块很重要
代码冲突问题的 产生:
多个用户在操做同一个文件时,修改或新增了不一样的内容,在第一个用户提交后,第二个用户提交时就会发生冲突,(提交的版本和别人提交的版本内容冲突)
举例:
jack修改了user.java
Rose修改了user.java
Jack在提交操做时不会产生冲突而rose尝试提交时:
提示文件过期,update:
打开文件后解决冲突:
修改内容为:
再次提交,就不会出现问题了。
提示:解决冲突后,应该第一时间在工做的群中发布消息让团队相关人员知晓.
如何避免冲突:
在编辑代码前,养成良好习惯,上班后第一个动做应该是先update代码,保证本地代码和svn同步,在提交代码,若是工做中须要修改别人的代码,应该与负责该代码的人员商讨,而不是直接提交。
5、经过IDEA工具使用SVN
1.上传项目到SVN
建立了一个java项目,同步到svn服务器,rose从服务器中获取项目:
建立项目:svndemo
点击菜单VCS-->Enable Version Control Integration…
选择Subversion
被归入svn版本控制后当前项目会变成红色:
项目为红色时表示本地版本信息和远程仓库版本信息不一致.
经过IDEA工具查看svn仓库信息:
第一次操做时需添加仓库信息:
效果以下:
开始上传本地代码前须要忽略掉一些没必要上传的目录和文件:
本地项目中的target目录 .idea文件 .iml文件都是和代码无关的,因此所有都忽略掉
最终效果:
将本地代码提交到远程仓库: 右击项目 ->Subversion -> Share Directory…
选择上传文件夹:
被归入svn版本控制的项目效果:
注意: 归入版本控制只是单纯的在svn远程仓库中建立了一个用以上传项目的目录,该操做并不直接将项目上传
提交本地代码:
选择须要提交的内容提交:
提交后项目效果:
在svn仓库视图中也能看到提交后的项目:
当修改本地代码后:对应的文件会变成蓝色:
再次提交后变为黑色
2.从SVN中检出项目
打开IDEA在开始窗口选择: Check out from Version Control ->Subversion
选择要检出的项目:
选择本地放置项目的文件夹
点击ok
Ok
yes
一直next
最终效果:
第一次写博客,也不知道写的咋样,不过也花费了很长时间,总想写的完美点,但感受写的不是太好,虽然我知道网上有不少人写了svn相关文章,但我写了一篇本身看法。但愿以后可以继续写下去。加油!加油!加油!