版本控制是一种软件工程技巧,借此能在软件开发过程中,确保由不同人所编辑的同一代码文件都能得到同步。
问题:① 团队开发 ② 异地协作 ③ 版本回退
一、为什么需要版本控制
1.让版本库中任意文件恢复到任意历史版本
2.追溯任意代码修改历史
二、常用的版本控制软件
git版本控制软件(主流):基于分布式进行架构的,主要应用于Linux平台;
svn版本控制软件(主流):基于服务器端进行架构的,主要应用于Windows或Linux平台;
cvs版本控制软件:最早期比较成熟的产品,开源奇葩产品;
vss版本控制软件:Visual Source Safe,入门级产品,操作简单,具有可视化界面;
clearcase版本控制软件:IBM负责管理与维护,中坚级产品,但是其并不是开源免费的,而是收费软件,价格昂贵,但是其有良好的技术支持。
三、SVN版本控制软件
SVN 是Apache Subversion 的缩写,是一个开放源代码的版本控制系统,Subversion 目前是 Apache 软件基金会的一个免费的通用系统,可以管理任何类型的文件集,包括源代码。是解决团队开发带来的文档备份、代码版本控制、代码冲突等问题的一款优秀的软件。
官网地址
SVN 源码
svn是近年来崛起的版本管理工具,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。(bae、淘宝code、开源社区)
SVN软件属于C/S结构软件,所以在使用时必须安装服务器端与客户端。
四、常用概念与操作指令
Repository(源代码库):源代码统一存放的地方
Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份
Commit(提交):当你新增或者修改了代码,你就需要Commit到repository
Update (更新):当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更
Confict(冲突):如果两个程序员同时修改了同一个文件,如果不是同一行,SVN都会自动合并,操作上先update后commit。如果是同一行,SVN会提示文件Confict, 冲突,需要手动确认。
• 新增 add
• 提交commit
• 查看操作日志 show log,回退版本
• 文件比较 diff 、 diff with previous version
五、Subeclipse插件
Help--> install new software -->add:
Name : subeclipse
Location : http://subclipse.tigris.org/update_1.10.x
六、设置忽略文件
具体可以参考博客:[转]SVN-版本控制软件