为什么需要代码版本控制:
1.保存原来稳定的代码,方便修改。
2.客户的多要求摇摆不定,方便交差。
3.可以方便看到是谁修改了代码,谁干了什么活。
4.和同时协同开发需要。
5.工作量统计。
6.项目源码版本的备份和记录。
常见版本控制软件:
1.CVS
2.SVN
3.ClearCase
4.VSS
5.GIT
第二个和第五个使用的多一点。
SVN简介:
Svn(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了 SVN。Subversion 项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足。
SVN服务器端安装:
VisualSVN是一款图形化svn服务器。官网
http://www.visualsvn.com/server/
下载地址:
http://www.visualsvn.com/server/download/
搭建svn服务器,安装步骤见文档
客户端TortoiseSvn介绍:
TortoiseSVN 是svn版本控制系统的一个免费开源客户端,它是svn版本控制的 Windows 扩展。可以使你避免使用枯燥而且不方便的命令行。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里点击右键操作就可以了。
下载安装地址
http://tortoisesvn.net/downloads
SVN最佳实战
1.单用户版本控制
2.版本库的备份和还原
3.多用户权限控制
4.多用户版本控制
5.多用户冲突合并
6.SVN提交代码的规范
7.常见ignore文件类型
8.采用svn管理android项目
9.项目版本管理实战
SVN标准目录结构
Trunk
这是SVN目录的主分支,表示日常开发中的项目,任何时候Trunk里包含的都是最新的开发代码。 这里的代码将会工作到你的下一个主要发布版本。
Trunk应该只被用来开发将会成为你的下一个重要版本的代码。
Branches
Experimental branches
有时你想将某个新技术引进项目。这很好,但是你当然不想赌上你的整个项目。
Bug fix branches
分支也可以用于处理trunk或release branches里发现的严重的Bug。
Tags
一般情况下,tag,是用来做一个milestone的,不管是不是release,都是一个可用的版本。
Tags,一般是只读的。
Git简介
Git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。
windows下Git的安装
1.msysgit是Windows版的Git,提供了命令行操作
下载地址:http://msysgit.github.io/
2.TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展。可以使你避免使用枯燥而且不方便的命令行。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里点击右键操作就可以了。
下载地址:
https://code.google.com/p/tortoisegit/
Git的优势
分布式,强调个体
公共服务器压力和数据量都不会太大
速度快、灵活
任意两个开发者之间可以很容易的解决冲突
离线工作