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

一、什么是SVN

1.1 定义

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

二、TortoiseSVNApache Subversion(SVN)客户端,做为SVN window shell的扩展。web

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

4、参考连接:apache

http://subversion.apache.org/服务器

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

https://tortoisesvn.net/ide

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

1.2 SVN主要概念

SVN相似于文件系统,能记录每一个文件的变动。单元测试

源代码库:Repository测试

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

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

检出:checkout

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

提交:submit

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

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

更新:update

若是别人作了源代码修改,则须要更新代码,其实是从Repository把变动后的代码文件同步到本地。

主干:trunk

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

标签:tags

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

分支:Branch

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

工做副本:

工做副本是仓库的一个快照。这个仓库被全部的成员共享,但人们不直接修改它,相反每一个开发者检查这个工做副本,工做副本是一个私人的工做空间,这里开发者能够独立于其余成员作本身的工做。

二、TortoiseSVN安装

2.1下载

官网下载连接:

https://tortoisesvn.net/downloads.html

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

image.png

2.2安装

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

image.png


三、VisualSVN安装

3.1下载

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

按照编码规范规定,须要使用VS 2017,因此下载用于VS 2017的版本:6.3.1

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

3.2安装

直接双击安装:

image.png


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

image.png


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

image.png


四、Visual Studio工程准备

4.1从新指定objbin目录的路径

1C#项目

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

image.png


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


image.png

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

二、C++项目

三、VB项目

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

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

image.png


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

image.png


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


五、SVN经常使用操做

5.1 Checkout

一、获取仓库地址

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

二、新建本地项目地址

例如:D:\测试项目

三、建立本地工做副本

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

image.png


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

image.png


点击OK后,若是没有链接过SVN服务器,会提示输出用户名和密码,不然提示以下:

image.png


Completed表示完成,同时自动产生一个.svn目录。不该该进去这个目录,尤为不该该更动这个目录下面的任何内容。不然会极可能会形成SVN没法正常运做。

 

因为仓库是空的,因此本地工做副本也是空的。

5.2 Add

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

image.png


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

image.png


web应用程序,肯定后,以下:

image.png


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

image.png


执行Add to Subversion”后,以下:

image.png


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


5.3 配置ignore

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

image.png


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

image.png


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

image.png


5.4 Commit

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

image.png

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

 

二、生成解决方案

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

image.png


输出窗口提示为:

image.png


生成过程没有错误,因此能够提交代码文件到仓库了。


二、提交

项目右键菜单:


image.png


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

image.png

提示:

image.png


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

image.png


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

image.png


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

image.png


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

image.png


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

image.png

相关文章
相关标签/搜索