最近在使用VSS的过程中觉得不太好用,怀念之前使用SVN的日子,今天有点时间来试下.NET下用SVN
------准备软件:
1.AnkhSvn-2.1.8420.8.msi --VS下SVN插件
2.Subversion-1.5.3.msi --Subversion服务端
3.TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi --SVN客户端
------安装步骤(需重启见自动提示):
1.首先安装服务端--Subversion
2.客户端--TortoiseSVN
3.VS插件AnkhSvn(其中插件最先安装或最后安装都行)
------安装完后配置SVN服务器:
1.在D:/下新建目录SVN(用处后面介绍) 即D:/SVN
2.再新建一目录用作版本库 本人使用D:/WebProject
3.在SVN目录上右键选择"TortoiseSVN"--->"Create repository here" 建立镜像库,如下图
4.打开SVN下的conf目录
a.在[users]节点下增加:
[users]
myuser=mypassword --前面为SVN用户名,=后为密码
b.修改authz文件中的:
[groups]
[/]
myuser=rw --myuser为passwd文件中我的用户名
b.修改svnserve.conf文件
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz 均去掉前面的#及空格
5.在WebProject目录上右键选择"SVN Checkout..." 进行测试,如下图
6.选择"SVN Checkout..."后会出现如下界面
再点击OK,如WebProject目录变成如下图样子便配置成功
------Subversion服务器安装时一般采用默认目录:C:/Program Files/Subversion
///
基于VS2008 Team开发环境的源代码版本控制需要以下软件,安装顺序没有限制,一切默认安装即可:
(1) VisualSvn Server(版本控制服务器)免费开源软件。
版本号:VisualSvn-Server-2.1.4.msi,官方下载地址:
http://www.visualSvn.com/files/VisualSvn-Server-2.1.4.msi
(2) TortoiseSvn(管理员客户端),免费开源软件。
版本号TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi,官方下载地址:
(3) AnkhSvn(VS2008插件),免费开源软件。
版本号:AnkhSvn-2.1.8420.8.msi,官方下载地址:
http://www.open.collab.net/files/documents/175/3887/AnkhSvn-2.1.8420.8.msi
注:
1、VisualSvn Server是免费的,而VisualSvn是收费的。VisualSvn是VisualSvn Sever的客户端,和Visual Studio集成在一起,但是不免费。VisualSvn Serve客户端有太多的免费版本供我们选择,TortoiseSvn就是一个不错的选择。
2、AnkhSVN是一款在VS中管理Subversion的插件,您可以在VS中轻松的提交、更新、添加文件,而不用在命令行或资源管理器中提交。而且该插件属于开源项目。
在VISUAL STUDIO中使用AnkhSVN来进行版本控制
使用AnkhSVN的步骤:
1。 安装好SVN及TortoiseSVN;
2。 在资源管理器里点右键,创建版本库;
3。 将代码导入创建的版本库;
4。 打开VISUAL STUDIO;
5。 Tools->AnkhSVN->Checkout a repository directory;在弹出的对话框中,
填上版本库所在路径,以及代码检出到哪个目录下。-------------?????vs2008中不是这样,而是在file菜单下有该操作
6。 用VISUAL STUDIO打开已经被纳入版本控制的solution,则代码的文件名
前的图标有了变化。
7。 剩下的操作就很简单了。
我想是一个Solution里可能有几个project,而每个project下的代码可能也分成了几个目录。
在VS集成环境中,可以比较好地展开各个solution的各个project的代码文件目录,有总览
全局的感觉。
而在资源管理器中,展开代码文件目录时总是能看到一堆.svn目录,不如在VS环境下用ANKH
看着爽。
当然,代码文档之类的,好像用ANKH就不灵了,还是用TSVN来提交了。
各人习惯不同吧:)
注意两个提交,用下面的提交后,仍然锁定程序,上面的提交,在提交后自动解除锁定。
New 表示新增加的文件,还没有增加到版本库中。
Added 表示已经使用ADD功能,但是还没提交.
Edited 表示已经修改但还没保存.
Modified Edited状态保存之后的状态.
Conflicted 有冲突时的状态
Deleted, Copied 改名之后,列示的状态。Deleted也表示删除文件的状态。