SVN 版本控制管理

上一篇 / 下一篇  2018-01-26 13:41:28 / 个人分类:总结

SVN管理code版本

 

前端时间做项目自动化都是自己单独写代码,写框架,最近领导新分配任务,两个人一起做另一个项目,分工合作写代码。分工合作就要涉及到代码的版本管理。

  领导考虑到这个问题时,我就提议用开源的SVN,好用还不花钱之前用过SVNSVN捡起来也快。

  这两天都在看SVN的帮助文档,新项目用的Visual Studio2015开发平台的,可以在VS2015中用VisualSVN插件进行版本管理。那么下面总结下版本控制SVN工具。

版本控制需要SVN服务器端VisualSVN server和客户端VisualSVN进行管理。

VisualSVN Server下载可以到visualsvn官网进行下载:

 https://www.visualsvn.com/server/download

 

VisualSVN下载地址:

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

 

一.VisualSVN Server安装

VisualSVN Server下载后开始安装,安装过程中Server Port,默认的端口有80/81/8080三个;若勾选“use secure connection”即使用安全连接【https协议】访问时端口则默认为443/8443


  

二.VisualSVN安装

VisualSVN安装默认即可

三.VisualSVN-Server功能

VisualSVN-Server最主要的两个功能就是对项目源码的版本管理和对项目中各个账号的权限控制。SVN Server控制台界面如下:

1.     项目版本管理

右键点击SVN Server->Repositories选择Create Repositories,名称为自己项目名,如上图的MyProject,默认勾选了“Create default structurebranches,tags,trunk)”,创建完成后会默认生成branches,tags,trunk三个文件夹,若不勾选“create default structure”项,则默认不会生成默认的三个文件夹。

 

2.     账号及账号权限控制

右键点击SVN server->Users选择create users,进行创建用户或者Group下创建用户组,如开发,测试等用户组,再通过用户组进行设置权限等。

四.VisualSVN客户端功能

VisualSVN安装成功后,在VS开发平台的menu上会集成VisualSVN功能菜单,如下图:

    

一般VisualSVN会搭配TortoiseSVN一起使用,VisualSVN只集成在VS中使用,TortoiseSVN是集成到文件管理器中使用,如下:

             

鼠标右键点击后弹出的menu菜单会显示SVN功能,如SVN Checkout…TortoiseSVN

 

1.     导入源代码到SVN服务器

假如我们使用VS在文件中创建了一个项目MyProject,然后我们要把这个项目源码导入到SVN Server上中,首先在MyProject文件夹上点右键选择TortoiseSVN->Import…

                                                               

导入源码图一

然后会弹出如下窗口,下面URL的路径是本地的文件夹路径,SVNServer服务器是放在本地的D\test\repository中,如果不是本地,可以将路径改为对应的地址如下Client图三。


导入源码图二

 

导入源码图三

 

输入记录日志后,会弹出输入账号和密码的窗口,然后确定后会开始导入源码到服务器端,导入成功后会显示Completed At revision:1即导入成功和导入的修正版本号。

 

 2导出源码

 当源码迁入到服务器上后,其他开发或者测试人员就可以从服务器上checkout源码了,导出源码可以通过TortoiseSVN也可以通过VSVisualSVN插件处导出源码。下面讲通过VS->VisualSVN导出源码。

  点击VisualSVN后会看到Get Solution From Subversion项,点击它。


导出源码图一

 

然后会弹出如下窗口,让你输入源码地址,即服务器上对应项目的地址

导出源码图二

URL即为源码服务器地址,Name即为项目名称,Location即为本地导出后源码存放的路径。点击OK后会开始导出源码。

导出源码三

导出成功后提示信息。

导出源码图四

 

 

下面是通过TortoiseSVN导出源码过程:

 

说明:上图中的Checkout Depth,4个选项,分别是导出全部,只导出下一级子目录和文件,只导出文件,只导出空项目,默认的是第一项。

一旦文件或文件夹做了修改,那么文件或文件夹的显示图片会发生变化。下图中是修改过的两个文件。

 

 

下面是不同状态对应的图片:

 

2.     提交修改过的文件到SVN服务器

如上图中修改过的两个文件,下面演示如何提交到SVN服务器。

注意:提交源码到服务器时,一定要确保本机的代码是最新版本,否则可能提交失败,或者造成版本冲突(即需要先本地SVN update)。

 

在修改过的文件夹或文件上点击右键,选择SVN Commit…项,弹出下面的窗体:

更改文件提交图一

点击确认后,开始向服务器提交,提交成功后弹出如下窗口:

 

VisualStudio中提交一样,直接选择VisualSVN->Commit后,填写对应信息后即可更新到SVN服务器上

 

 

3.     添加新文件到SVN服务器

假如在Model文件夹下新建了一个UserInfo.cs类,可以通过右键点击文件夹选择SVN Commit…或着直接点击UserInfo.cs类,选择TortoiseSVN-> add

 

Visual Studio上提交的方法相似,如果通过整个项目更新则直接选择VisualSVN->Commit…,通过对应新增库文件进行提交,则是右键对应的类->选择add to Subversion即可。

4.     更新本机代码与服务器最新版本保持一致

直接在项目文件夹上右键选择SVN update或者是Update即可。

5.     重命名文件或文件夹,并将修改提交到SVN服务器

只需要在本地重命名文件或文件夹,然后通过文件管理器的TortoiseSVN->Rename或者在VS中重命名某个文件或文件夹,再commit

6.     删除文件或文件夹,并将修改提交到SVN服务器

直接删除某个文件,然后Commit

7.     解决冲突的方法

要是在commit时提示有文件冲突了,可以先将冲突的文件先删除,或者冲突文件本地修改的内容删除,再更新本地项目到最新版本,然后再修改进行提交。

 

 

注:如果项目中引用了其他的第三方的程序集,比如EnterPriselibrary,FCKEDitor等,这时候不要简单的从他们的按照位置引用,而是在自己的解决方案下,新加一个Library的文件夹,把需要的程序集复制到这里,然后从Library中引用。这样可以避免从SVN服务器导出源码到本地时,本地由于没安装对应的程序集而导致项目无法运行,或报错等现象。


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar