原文:系列二VS项目软件配置工具介绍

Svn和VisualSvn介绍

在使用TortoiseSvn(SVN客户端)+ AnkhSvn(VS2008插件) +VisualSvn Server(版本控制服务器)进行源代码版本控制前,有必要先了解下Subversion(Svn)。
     Svn(Subversion)是近年来崛起的版本管理工具,是CVS的接班人。目前,绝大多数开源软件都使用Svn作为代码版本管理软件。

Svn客户端:
 Subversion的客户端有两类,一类是webSvn等基于web的,一种是以TortoiseSvn为代表的客户端软件。前者需要web服务器的支持,后者需要用户在本地安装客户端软件。

Svn服务器
 Subversion支持linux和windows,更多是安装在linux下。

Svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。
 Svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

VisualSvn 与VisualSvn Server

VisualSvn是Svn的客户端,和Visual Studio集成在一起,但是是商业软件,要收费;

VisualSvn Server是基于Windows平台上的Subversion服务器,它是免费的,它具体包括了Subversion、Apache和一个相应的管理界面。所以推荐使用免费的TortoiseSvn客户端以及VS插件AnkhSvn 。

与VSS版本管理软件的比较:

VSS:如果需要连接到发布在公网上的VSS服务器下载代码的话需要配置IIS,步骤非常麻烦,而且不一定成功,本人在去年就试过,弄了很久都没有成功。

VisualSvn Server:VisualSvn Server自带apache,不需要配置IIS服务器的,输入URL就可以下载保存在公网上的VisualSvn Server的代码,只需要确保开启443或者80端口就可以了操作简单。

问:为什么要用Svn,而不用VSS?
 相同点:都能集成在VS2008下进行源代码管理,都能完全内网开发跟外网开发。
 不同点:VSS是基于“锁定--编辑—解锁”模式的,这个模式有一个弊端,就是当其他人在编辑相关单元文件的时候,此单元文件处于锁定状态,其他人如果想编辑这个单元文件的话,只能处于等待状态。后来在持续集成中我使用的Subversion替代VSS,Subversion是基于“修改—冲突—合并”的一个模式,也就是说多个人可以同时签出一个单元文件,编辑然后提交,如果多个人都修改了同一文件的某一行的话,就会发生冲突,手工解决冲突,解决的效果就是合并代码。

Internet开发,和离线开发,VisualSvn会比VSS更胜一筹。

问:为什么要用VisualSvn Server,而不直接用Subversion?
 答:因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装Svn Server为windows service(Windows服务),还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSvn Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候Svn Server已经封装为windows service(如果改变VisualSvn Serve的URL的时候,VisualSvn Serve会自动重启服务,非常方便),Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。
 VisualSvn Server是完全开源和免费的,当然它的官方客户端(VisualSvn)并不免费,不过没关系, VisualSvn Serve客户端有太多的免费版本供我们选择,TortoiseSvn就是一个不错的选择.

必备软件
基于VS2008 Team开发环境的源代码版本控制需要以下软件,安装顺序没有限制,一切默认安装即可

由于3个软件的官方下载地址不能访问,所以我把3个软件上传到我的网盘,我给出下载地址,欢迎大家下载

VisualSvn Server(版本控制服务器)免费开源软件。
 版本号:VisualSvn-Server-2.1.4.msi

下载地址:http://files.cnblogs.com/lyhabc/VisualSVN-Server-2.1.4.rar

TortoiseSvn(管理员客户端),免费开源软件。
 版本号TortoiseSvn-1.6.11.20210-win32-Svn-1.6.13.msi

下载地址:http://www.kuaipan.com.cn/file/id_4401224786917885.htm

AnkhSvn(VS2008插件),免费开源软件。
 版本号:AnkhSvn-2.1.8420.8.msi

下载地址:http://files.cnblogs.com/lyhabc/AnkhSvn-2.1.8420.8.rar

开篇

系列一 版本管理软件简介

系列二VS项目软件配置工具介绍

系列三VisualSvn Server

系列四TortoiseSvn客户端软件

系列五AnkhSvn

系列二VS项目软件配置工具介绍的更多相关文章

  1. 二、VUE项目BaseCms系列文章:项目目录结构介绍

    一. 目录结构截图 二. 目录结构说明 - documents    存放项目相关的文档文件 - api   api 数据接口目录 - assets    资源文件目录 - components   ...

  2. Lucene系列二:Lucene(Lucene介绍、Lucene架构、Lucene集成)

    一.Lucene介绍 1. Lucene简介 最受欢迎的java开源全文搜索引擎开发工具包.提供了完整的查询引擎和索引引擎,部分文本分词引擎(英文与德文两种西方语言).Lucene的目的是为软件开发人 ...

  3. Vue入坑教程(二)——项目结构详情介绍

    之前已经介绍了关于Vue的脚手架vue-cli的安装,以及一些文件目录介绍.具体可以查看<vue 入坑教程(一)--搭建vue-cli脚手架> 下面简单说一下具体的文件介绍 (一) pac ...

  4. (二十三)Dbutils 工具介绍

    目录 Dbutils简介 API 介绍 Dbutils 已实现的结果集处理器 : Dbutils简介 commons-dbutis 是Apache 组织提供的一个开源JDBC工具类库,它对JDBC进行 ...

  5. Jmeter系列(2)- Jmeter工具介绍、Jmeter安装目录介绍、Jmeter面板介绍

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html Jmeter支持哪些测试场景? Jme ...

  6. 从零开始搭建django前后端分离项目 系列二(项目搭建)

    在开始项目之前,假设你已了解以下知识:webpack配置.vue.js.django.这里不会教你webpack的基本配置.热更新是什么,也不会告诉你如何开始一个django项目,有需求的请百度,相关 ...

  7. Pandas系列(七)-计算工具介绍

    内容目录 1. 统计函数 2. 窗口函数 3. 加深加强 数据准备 # 导入相关库 import numpy as np import pandas as pd #Pandas 中包含了非常丰富的计算 ...

  8. Pandas系列(八)-筛选工具介绍

    内容目录 1. 字典式 get 访问 2. 属性访问 3. 切片操作 4. 通过数字筛选行和列 5. 通过名称筛选行和列 6. 布尔索引 7. isin 筛选 8. 通过Callable筛选 数据准备 ...

  9. cbuild-一个创建和管理C++项目的工具

    cbuild-一个创建和管理C++项目的工具 介绍: 这是个人开发的一个管理C++项目的工具,用shell脚本编写. 可能会不定期更新,也欢迎大家一起完善. 当前开发版本0.5.各版本功能如下: ve ...

随机推荐

  1. Projecet客户端登陆无法通过验证

    客户反映使用Project客户端登陆project服务器的时候,只有域管理员账户才能够登陆成功,其他的账户登陆都无法验证通过,无论是https的方式还是客户端的方式,但是域账户登陆计算机是可以登陆成功 ...

  2. SlidingMenu开源项目滑动界面的实现总结

    先上图 须要准备的是先得在GitHub上下载ActionBarSherlock-master.zip,和SlidingMenu-master.zip这两个开源文件,然后解压这两个包,SlidingMe ...

  3. ZOJ 3795 Grouping 求最长链序列露点拓扑

    意甲冠军:特定n积分.m向边条. 该点被划分成多个集合随机的每个集合,使得2问题的关键是无法访问(集合只能容纳一个点) 问至少需要被分成几个集合. 假设没有戒指,接着这个话题正在寻求产业链最长的一个有 ...

  4. UVa 11463 - Commandos

    主题:有一个敢死队,要销毁的建筑群,他们从一个特定建筑物离开,最后到一组特定的建筑物的. 现在,各个建筑物之间进行连接的路由,班车需要在建筑物1时间单位,我问的第一次集合. 分析:图论,最短路径.直接 ...

  5. Swift基础--使用TableViewController自己定义列表

    首先建立一个swift项目,把storyboard的内容删掉,加入一个Navigation Controller.然后设置storyboard相应界面的class,在Navigation Contro ...

  6. IOT(Index Organized Table)

    我们知道一般的表都以堆(heap)的形式来组织的,这是无序的组织方式.Oracle还提供了一种有序的表,它就是索引组织表,简称IOT表.IOT表上必须要有主键,而IOT表本身不对应segment,表里 ...

  7. mysqldump: Couldn't execute 'show events': Cannot proceed because system tables used by Event Schedu

    最近将老版本的mysql 实例倒入 percona 5.5.30,使用的是线上的全备,结果将mysql 库下的表也倒入了,这下可悲剧了,备份报错. 没办法,将mysql库下的数据倒出来,清空,再倒入p ...

  8. 演示基于SDL2.0+FFmpeg的播放器

    SDL是一个跨平台的渲染组件,眼下已经推出到2.0.3版本号,支持Win/Linux/OSX/Android.网上非常多介绍大多是基于SDL1.2版本号的,与2.0版本号有一定的区别,本文演示怎样用S ...

  9. hdu 2049 别easy列(4)——测试新郎

    问题: 使用double定义的数量和long数定义19-20出现分歧,原因不明.求大公社. 这个问题需要用long,否则,只是通过,这应该纠结了很久. 问题是乘以一个交错的思想相结合. 不easy系列 ...

  10. [LeetCode]Palindrome Partitioning 找出所有可能的组合回文

    给定一个字符串,切割字符串,这样每个子字符串是一个回文字符串. 要找出所有可能的组合. 办法:暴力搜索+回溯 class Solution { public: int *b,n; vector< ...