赞
踩
版本管理是为满足不同需求,对同一产品或系统进行局部的改进 和改型所产生的产品或系统系列的变更情况进行记录、跟 踪、维护和控制的过程。
目的:
规范软件产品版本升级流程,清晰管理版本号,加强不同版本软件保存的可靠性。
适用范围:
研发结束进行测试或投入应用的独立软件产品;
已销售产品中的独立软件产品的升级或变更管理;
为什么要使用版本管理:
1.作为数据备份,这是一个主要的原因了。虽然数据备份同样可以用比较笨的方法:本地复制副本,但这种古老的方法有很多不足,无法应对频繁的修改,会照成版本混乱,不便于管理,并且占用空间。
2.版本管理,避免版本管理混乱。这是使用版本管理的最主要原因,也是版本管理的目的所在。你肯定不会希望在本地手动备份了多个副本后,到头来却不知道那个备份是最新的,那个备份进行了什么修改,修改日期是什么时候等等一切你记不清的问题。而版本管理软件能解决这些问题,它有详细的日志,能记住你的每一次提交、每一次改动,并且能够比较查看不同版本之间的异同,并且可以恢复到之前的任一版本。
3.提高代码质量。在没有版本管理之前,可能经常要在代码里写些不相关的注释,比如:某人某日对某代码进行修改;或是将一些不确定是否使用的代码用注释的形式保留等等,这些也就是僵尸代码啦。现在这些工作都可以交由版本管理工具完成,把这些不相关的僵尸代码从代码里删掉吧。
4.提高协同、多人开发时的效率。及时提交更新代码,能让团队中的成员了解到代码的最新情况,避免重复劳动。
5.明确分工责任。什么时候谁对代码做了修改、修改了什么内容,版本管理都会记录在案,方便查询,追究责任。
6.除了代码以外,很多文档、个人资料,如:简历等等都可以进行版本管理,这是有趣而高效的。凡是需要持续修改的文档资料都可以进行版本管理。
如何有效地使用版本管理,养成使用版本管理的良好习惯:
2.定期提交和更新代码,这样可以保持代码处于最新状态。我喜欢阶段性地提交,也就是每当我完成一个小功能、小模块或对代码进行了一次维护、优化之后提交。在开发的时侯至少每天提交一次。提交的代码不要求无误,bug难免。但要求至少是可运行,这样能提高团队的效率,避免其他人更新之后还需要来调试你的代码,这是效率低下的。每隔一段时间进行一次更新,这个时间可以由团队内部协商制定。更新可以保持代码的最新状态,避免重复修改、重复劳动。可以了解每个人的进度和开发情况,还可能能够及时发现解决问题。过于频繁的提交和太久不提交都会影响开发效率。
3.填写提交信息,对这次的修改进行简要描述说明。很多人在使用版本管理的时候会偷懒,直接提交而不填写任何的提交信息,这是一个坏习惯。因为你是无法记住精确的时间的,尤其是在修改频繁的时候,这样你很难定位到你需要的版本。而且让团队其他成员能知道你做了什么,了解你的进度。填写信息时也不需要填写提交时间和提交者这种冗余信息了,这些版本管理工具都会自动记录。
4.提交之前进行比较,明确你进行的修改。
5.不需要本地存有多个备份副本。只需要保留一个,让版本管理工具负责备份的工作,自己备份、存有多个副本反而会造成版本管理混乱。
SVN简介
1、Subversion就是一款实现版本控制的工具软件,通常也被称为版本控制器,简称SVN。
2、SVN中的一些概念:
①repository:版本库、仓库,即存放源代码的地方。
②checkout:检出,比如checkout源代码,即下载源代码的意思。
③commit:提交,修改完代码之后,需要提交到版本库(repository)。
④update:更新。代码不是最新状态时,需要更新代码。
3、SVN的工作原理
采取客户端/服务器模式---在服务器的版本库中保存项目文件的各个版本,所有参与协同开发的程序员在自己本地电脑保存一个工作副本。SVN支持程序员将副本更新到服务器端的最新版本,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而作为一个新的版本保存下来—SVN甚至支持将本地工作副本恢复为服务器端保存的某一个历史版本。
4、SVN的主要作用
①版本控制:目录和文件都能实现版本控制。
②查看历史版本:可以很方便的查看文件或目录的各个历史版本。
Git简介
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是 Linus Torvalds 为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
Git具有以下特点:
1、分布式的版本控制系统:Git开发时本地仓库保留所有的历史提交和分支,即使中央仓库是单点出现故障,也不影响本地的commit提交工作,开发同学可以继续本地编码,直到中央仓库恢复后再推送到中 央仓库;
2、轻量和便捷的分支管理策略:不同于SVN整个拷贝,Git创建的分支是当时历史提交点的快照(指针),不需要整个拷贝,成本极低而且便捷;
3、近乎所有操作都可以本地执行:拉分支、提交、合并等操作都只访问本地仓库,处理速度快,离线状态下,可在本地进行任意次提交;
4、更open的权限管理、更多持续集成的支持:不同于SVN权限管理可以细致到某个目录,Git是按照Group(开发组)进行权限管理,Group所有成员对于组内所有代码工程具有相同权限,这种权限管理更有利于组内知识共享和技术交流。Git特有的Gerrit可以更好的实现code review,并且可以把Sonar、UT等其他持续集成活动更好的集成和应用到代码工程中。
为什么使用Git:
Git开源、便捷的基因完全符合互联网更开放、更敏捷快速的特点,Git已经成为目前最流行的版本管理系统,并且成为主流的一二线互联网公司采用的版本管理系统,没有之一;
Git可以促进组内、公司内知识共享,由封闭转向开源,人人都可以参与和贡献开源代码;
全球最大、最活跃的开源社区Github,可以轻松无缝clone到本地,进行参考和学习;
天然的代码质量控制系统,让code review、CI更容易执行。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。