何为版本控制?
版本控制它是一种软件工程籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新,它透过文档控制记录程序各个模块的改动,并为每次改动编上序号,并且编辑错误之后还可以回溯到以前的版本。
为何要使用版本控制?
1、备份源代码
2、可以方便进行代码版本的回溯
3、可以记录是谁提交的代码
4、控制代码访问权限
5、解决多人开发带来的代码冲突
6、掌握员工的工作量
可以供我们选择的版本控制系统
1、VCS
2、VSS、CVS
3、ClearCase、SVN、Perforce、TFS
4、Mercurial(水银/水星)、Git
最好用和最常用的是SVN和Git
今天先介绍一下SVN
SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。
运行方式:
svn服务器有2种运行方式:独立服务器和借助apache运行。两种方式各有利弊,用户可以自行选择。
地址:
1.Apache官网地址:http://subversion.apache.org 2.TortoiseSVN官网地址:http://tortoisesvn.tigris.org
SVN常用实操 1.Checkout检出 2.Add添加文件或文件夹 3.Commit提交 4.Update to revision历史版本回溯 5.Update更新 6.冲突 7.锁定 8.建立分支 9.忽略: (1)设置SVN忽略文件和目录(文件夹):http://blog.csdn.net/hemingwang0902/article/details/6904205 (2)SVN 管理Android项目中忽略的设置和注意事项 1)以下不应该纳入SVN版本控制范围: # bin目录。编译后生成的目标文件 # gen目录。自动生成的R.java 尤其是bin和gen目录,一定要列入SVN忽略列表中!!切记。 2)如果是在Eclipse中,要设置build path让其忽略.svn文件夹 菜单 - Project - Properties - Java Build Path - Source - xxx/src - Excluded,双击或点右边的编辑,在Exclusion patterns中加 入"**/.svn/**",让Eclipse忽略.svn目录即可。 (3)Ignored Resource .settings .class target *.iml .idea 10.把一个项目文件夹发布到SVN服务器上 11.Export导出 12.备份
SVN图标的含义 1.绿色对勾:服务端和客户端代码一致 2.蓝色的问号 :客户端有一个服务端不存在的文件,SVN的客户端不知道个文件 3.蓝色加号:客户端有一个服务端不存在的文件,等待要提交到服务端 4.红色叹号:客户端和服务端都有这个文件,但文件内容不一致 5.黄色叹号:当前文件更服务端文件不一致,产生了冲突(同一行写了不同的内容) 6.灰色叹号:当前文件已经加锁了 7.黄色锁头:当前文件已经加锁了
SVN的使用规范 1.先更新,再提交 2.多提交 3.不要提交不能通过编译的代码 4.每次提交必须书写明晰的标注 5.提交时注意不要提交本地自动生成的文件 6.不要提交自己不明白的代码 7.慎用锁定功能