前言
公司项目使用svn
作管理工具,而不用git
,所以去捣鼓一下svn
了。
SVN简介
SVN的全称是Subversion,即版本控制系统。它是最流行的一个开放源代码的版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。
SVN采用客户端/服务器体系,项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后在此基础上,每个开发人员可以在自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。
SVN的客户端有两类,一类是基于Web的WebSVN等,另一类是以Tortoise SVN为代表的客户端软件。前者需要Web服务器的支持,后者需要用户在本地安装客户端,两种都有免费的开源软件供使用。SVN存储版本数据也两种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。
SVN服务器搭建和使用
- 首先来下载和搭建SVN服务器,下载地址如下:
http://subversion.apache.org/packages.html
; 进入网址后,滚动到浏览器最底部看到如下截图:
个人选择 VisualSVN server 服务端和 TortoiseSVN客户端搭配使用. 点开上面的VisualSVN连接,下载VisualSVN server,下载完成后开始安装。
VisualSVN server 安装使用步骤如下:
点击next
进行下一步,如下:
勾选,再点击next
进行下一步,如下:
勾选,再点击next
进行下一步,如下:
Location
是指VisualSVN Server
的安装目录;Repositorys
是指定你的版本库目录;Server Port
指定一个端口;Use secure connection
勾山表示使用安全连接;backups
表示备份地址
可以使用默认,也可以调整修改,示例如下:
点击next
进行下一步,如下:
默认选中,点击next
进行下一步,如下:
点击next
进行下一步,如下:
等待安装完成。安装成功,启动如下:
开始使用,新建一个版本仓库Repositories
,如下:
在test-svn-project
新建一个项目目录test-project
,如下:
然后copy url
去使用 svn
客户端去检出即可,如:
复制 https://yam/svn/test-svn-project/test-project
,svn
客户端使用SVN检出
,效果如下:
- 需要建立用户和组,并且需要分配权限。
创建用户,在VisualSVN Server Manager
窗口的左侧右键单击用户组,选择Create User
或者新建-> User
如下:
给test-project
创建成员组,在VisualSVN Server Manager
窗口的左侧右键单击用户组,选择Create Group
或者新建-> Group
,如:
Tortoise SVN 客户端安装使用
(1)点击程序安装包 TortoiseSVN-1.7.12.24070-x64-svn-1.7.9.msi
及中文语言包LanguagePack_1.7.12.24070-x64-zh_CN.msi
,
(2)先安装程序包、再安装语言包,安装过程默认下一步即可;
(3)安装完成后,在桌面空白地方右键:TortoiseSVN -- Settings
如下:
点击应用确认即设置成功。以上完成后便可正常使用svn的客户端及服务端了。
学习的安装包
注意
.svn
这个隐藏目录记录着两项关键信息:工作文件的基准版本和一个本地副本最后更新的时间戳,切记不要手动修改或者删除这个.svn
隐藏目录和里面的文件!!,否则将会导致你本地的工作拷贝被破坏,无法再进行操作。
svn提交时把node_modules忽略掉
空白处右键>选中TortoiseSVN
>设置(settings
)>常规设置(General
)>Subversion
>编辑(edit
)>在弹出的config
文件中找global-ignores
,复制一行下来,去掉global-ignores
前的#
。
如果是"文件夹" global-ignores = *node_modules
如果是文件 global-ignores = .project .git
中间用空格隔开
检查:鼠标选中node_modules
右键不会出现SVN提交
的功能项,设置成功。