一、版本控制的概念
版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。
二、SVN
Svn(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了 SVN。Subversion 项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足。
1、SVN基本交互流程图
2、Subversion安装(已过时)
subversion软件下载安装
http://subversion.tigris.org
这里使用版本Setup-Subversion-1.6.5.msi
3、VisualSVN Server
下载地址: http://www.visualsvn.com/server/download/
当前使用的版本: VisualSVN-Server-2.7.3
4、TortoiseSvn
TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费。它是 Subversion 的 Windows 扩展。可以使你避免接触 Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里右键操作就可以了。
下载安装:http://tortoisesvn.net/downloads
5、SVN与Eclipse整合
- 下载SVN插件(http://subclipse.tigris.org)
- 使用版本eclipse_svn_site-1.6.5.zip
- 解压到一个文件夹中
- 进入 eclipse 安装目录中 dropins 目录并创建一个 subclipse.link 的文本文件(文件名任意)。内容为:path=eclipse_svn_site-1.6.5.zip解压路径(注意:路径中需要把‘\’替换成‘/’)
6、Subversion目录规范
创建三个顶级目录
- /trunk 存放开发的“主线”
- /branches 存放支线副本
- /tags 存放标签副本
三、Git
Linus的第二个伟大作品。2005年由于BitKeeper软件公司对Linux社区停止了免费使用权。Linus迫不得己自己开发了一个分布式版本控制工具,从而Git诞生了。
目前使用Git作为版本控制的开源软件:Linux kernel,Android, jQuery, Ruby on Rails,Debian…
Eclipse上使用Git的项目数量也已经超过了使用SVN的仓库数。
1、特点
- 分布式,强调个体
- 公共服务器的压力和数据量都不会太大
- 速度快、灵活
- 任意两个开发者之间可以很容易的解决冲突
- 离线工作
- 每日工作备份
- 可以返回到以前的版本
2、基本交互流程图
3、开源项目工作流程图
4、Git安装
Git软件下载安装
https://code.google.com/p/msysgit/downloads/list
这里使用版本Git-1.7.9版本
5、Git建立仓库
建立Git仓库
git init –bare 库名称仓库说明
hooks目录:脚本文件的目录。
info目录:保存了不希望在 .gitignore 文件中管理的忽略模式的全局可执行文件
logs目录:日志目录
objects目录:存储所有数据内容
refs目录:存储指向数据(分支)的提交对象的指针
config文件包含了项目特有的配置选项
description文件仅供 GitWeb 程序使用
HEAD文件指向当前分支
5、TortoiseGit
下载安装:https://code.google.com/p/tortoisegit/wiki/Download
目前使用的版本: TortoiseGit-1.7.7.0
6、Git和Eclipse整合
下载EGit插件(http://www.eclipse.org/egit/)
下载到的插件为压缩包,可以直接在Eclipse中安装:Eclipse -> Help -> Install new Software