基于SVN构建版本机及所遇到的问题-1

1、什么是SVN

1.1 定义

1、SVN是一个开放源代码项目,用于版本控制,是CollabNet公司在2000年创建。目前SVN作为阿帕奇软件基金会的一个项目运作。

在建水等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、网站制作、外贸营销网站建设 网站设计制作定制网站,公司网站建设,企业网站建设,品牌网站设计,成都全网营销,外贸网站制作,建水网站建设费用合理。

2、TortoiseSVN是Apache Subversion(SVN)客户端,作为SVN window shell的扩展。

3、VisualSVN是专业SVN客户端,用于和Microsoft Visual Studio集成。

4、参考链接:

http://subversion.apache.org/

https://www.runoob.com/svn/svn-tutorial.html

https://tortoisesvn.net/

https://www.visualsvn.com/visualsvn/

1.2 SVN主要概念

SVN类似于文件系统,能记录每个文件的变更。

l 源代码库:Repository

统一存放源代码的仓库,实际存储库位于SVN服务器上的某个目录。

仓库是任何一个版本机的核心,仓库不止处理文件还有历史记录,它需要访问网络,扮演服务器的角色,版本控制系统扮演客户端的角色,客户端可以连接仓库,那么他们就可以从仓库中存储或者提取。通过保存这些更改,一个客户端的更改可以被其他人检索到,一个客户端可以让其他人的更改作为一个工作副本。 

l 检出:checkout

实际上是提取,用于初次下拉代码文件到本地。

l 提交:submit

当修改了代码,并做了自测(开发人员自行测试,方式可能包括单元测试、集成测试、系统测试等等),则把修改过的代码文件提交到Repository中。

提交是一个保存更改的过程,从私人工作空间到中央服务器。提交后,更改对全部成员可用,通过更新工作副本其他开发者提取这些更改。提交是一个原子操作,要么全部提交成功要么回滚,用户绝不会看到一半完成提交。

l 更新:update

如果别人做了源代码修改,则需要更新代码,实际上是从Repository把变更后的代码文件同步到本地。

l 主干:trunk

是主要开发所在的目录,经常被项目开发者们查看。

l 标签:tags

目录用于储存项目中被命名的快照,标签操作允许给予对仓库中特定版本一个描述和一个难忘的名字。比如,LAST_STABLE_CODE_BEFORE_EMAIL_SUPPORT 比Repository UUID: 7ceef8cb-3799-40dd-a067-c216ec2e5247和Revision: 13更令人难忘。

l 分支:Branch

分支操作用于创建开发的另一条线,当你想把开发进程复制进两个不同的方向是很有用的。比如,当你发布 5.0 版本时,你可能想从5.0的bug修复中分离出来创建一个开发6.0功能的分支。

l 工作副本:

工作副本是仓库的一个快照。这个仓库被所有的成员共享,但人们不直接修改它,相反每个开发者检查这个工作副本,工作副本是一个私人的工作空间,这里开发者可以独立于其他成员做自己的工作。

2、TortoiseSVN安装

2.1下载

官网下载链接:

https://tortoisesvn.net/downloads.html

此链接下面有语言包下载:

基于SVN构建版本机及所遇到的问题-1

2.2安装

直接按提示安装即可,安装后自动在文件系统中右键菜单中增加入口,如下图:

基于SVN构建版本机及所遇到的问题-1

3、VisualSVN安装

3.1下载

官网链接:https://www.visualsvn.com/visualsvn/download/

按照编码规范规定,需要使用VS 2017,所以下载用于VS 2017的版本:6.3.1

下载文件:VisualSVN-VS2017-6.3.1.vsix

3.2安装

直接双击安装:

基于SVN构建版本机及所遇到的问题-1

安装后,VS2017增加了一个一级菜单:

基于SVN构建版本机及所遇到的问题-1

同时,在解决方案资源管理器右键菜单中增加:

基于SVN构建版本机及所遇到的问题-1

4、Visual Studio工程准备

4.1重新指定obj和bin目录的路径

1、C#项目

右键点击项目,出现弹出菜单,选“属性”,如下:

基于SVN构建版本机及所遇到的问题-1

点击“属性”后,出现如下界面:

基于SVN构建版本机及所遇到的问题-1

修改输出路径。强烈要求把目录定到仓库或者分支的根目录中,使用..来相对表示根目录,这样就不用每次修改了。

2、C++项目

3、VB项目

4.2重新指定发布目录的路径

右键点击项目,出现弹出菜单,选“发布”,如下:

基于SVN构建版本机及所遇到的问题-1

点击“新建配置文件...”,如下:

基于SVN构建版本机及所遇到的问题-1

输入新的发布目录,强烈要求把目录定到仓库或者分支的根目录中,使用..来相对表示根目录,这样就不用每次修改了。

5、SVN常用操作

5.1 Checkout

1、获取仓库地址

例如:https://keys/svn/测试仓库/

2、新建本地项目地址

例如:D:\测试项目

3、创建本地工作副本

在资源管理器中,选择本地工作副本文件夹,右键菜单:

基于SVN构建版本机及所遇到的问题-1

执行SVN Checkout...后,如下:

基于SVN构建版本机及所遇到的问题-1

点击OK后,如果没有连接过SVN服务器,会提示输出用户名和密码,否则提示如下:

基于SVN构建版本机及所遇到的问题-1

Completed表示完成,同时自动产生一个.svn目录。不应该进去这个目录,尤其不应该更动这个目录下面的任何内容。否则会很可能会造成SVN无法正常运作。

 

由于仓库是空的,所以本地工作副本也是空的。

5.2 Add

进入VS 2017,新建一个项目,如下:

基于SVN构建版本机及所遇到的问题-1

指定位置为“D:\测试项目”,这是在5.1 Checkout中新建的本地副本。确认后,如下:

基于SVN构建版本机及所遇到的问题-1

选web应用程序,确定后,如下:

基于SVN构建版本机及所遇到的问题-1

在“解决方案资源管理器”中,右键点击TestProject项目后,如下:

基于SVN构建版本机及所遇到的问题-1

执行“Add to Subversion”后,如下:

基于SVN构建版本机及所遇到的问题-1

小黄点表示已经加入到本地副本,实际上被复制到了.svn目录下。

5.3 配置ignore

还是在项目上右键弹出菜单:

基于SVN构建版本机及所遇到的问题-1

进入VisualSVN-->Properties菜单后,点击“New...”,如下:

基于SVN构建版本机及所遇到的问题-1

执行“Other”菜单,“Property name”选择为“svn:ignore”

基于SVN构建版本机及所遇到的问题-1

5.4 Commit

1、修改在5.2 Add一节中新增的项目生成目录,还是在项目上右键菜单,选择“属性”:

基于SVN构建版本机及所遇到的问题-1

选择“所有配置”,修改输出目录为:..\..\bin

 

2、生成解决方案

解决方案右键菜单“生成解决方案”:

基于SVN构建版本机及所遇到的问题-1

“输出”窗口提示为:

基于SVN构建版本机及所遇到的问题-1

“生成”过程没有错误,所以可以提交代码文件到仓库了。


2、提交

项目右键菜单:


基于SVN构建版本机及所遇到的问题-1


选择“Commit...”,注意一定要输入Message说明修改哪些了bug或者新增了哪些功能:

基于SVN构建版本机及所遇到的问题-1

提示:

基于SVN构建版本机及所遇到的问题-1

点击OK后,用解决方案右键菜单来提交不会提示错误:

基于SVN构建版本机及所遇到的问题-1

点击OK后,发现黄点变为绿点:

基于SVN构建版本机及所遇到的问题-1

进入资源管理器查看sln文件是否加入:

基于SVN构建版本机及所遇到的问题-1


画了红线的sln文件没有加入到本地工作副本中,执行右键弹出菜单的“Add”:

基于SVN构建版本机及所遇到的问题-1

结果是这个sln文件前面的问号改为加号:

基于SVN构建版本机及所遇到的问题-1


当前名称:基于SVN构建版本机及所遇到的问题-1
分享链接:http://ybzwz.com/article/jedcsg.html