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

1、什么是SVN

1.1 定义

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

成都创新互联公司致力于互联网品牌建设与网络营销,包括做网站、成都做网站、SEO优化、网络推广、整站优化营销策划推广、电子商务、移动互联网营销等。成都创新互联公司为不同类型的客户提供良好的互联网应用定制及解决方案,成都创新互联公司核心团队10年专注互联网开发,积累了丰富的网站经验,为广大企业客户提供一站式企业网站建设服务,在网站建设行业内树立了良好口碑。

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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享标题:基于SVN构建版本机及所遇到的问题-1-创新互联
分享路径:http://myzitong.com/article/djesge.html