一、敏捷之惑
敏捷开发,有一个很好的实践,“每天都可以产生一个可用于发布的版本”。
以前对这句话感到非常的困惑,因为我们手中的项目是残缺的,基本只是程序的一个功能片段,在未集成之前如何发布得了?当然这是团队开发一种早期的模式,分解功能,由相关的成员完成特定功能,最后再由某个核心成员来集成功能。这个迭代周期是很漫长的,要等待某个功能全部完成之后,才能合并到主干上。再者,负责集成的人可能还需要熟悉、了解甚至进入代码内部才能将这个功能块较好的跟现有功能融合起来。
前段时间在天猫实习的时候,经常使用Git来进行版本控制。尤其是,在进行团队合作的时候,确实很有用,不用等待别人的功能完成,随时更新提交,基本不需要人为的去集成别人的代码。当然,当时的理解挺留于基本认知阶段,还不能进行升华。
所谓悟(包括略有所悟),是需要积淀的。最近,4个小伙伴,要搞一个Android项目,又开始了前面的历史性悲剧。偶然,打开书,看到了上面那句话,略有所悟。我决定要实践一下。用Git不太方便,Github,要么开源,要么付费。自己搭gitlab没有空间,只能用SVN咯。
VisualSVN是用来搭建SVN服务器的,可以通过http协议访问本地仓库,它所完成的就是地址映射。如果有云主机,这个搞起来后,使用就方便了,当然,我没有,我只有云空间。
二、环境构建
那就VisualSVN都不用,下面介绍“TortoiseSVN+百度云”方案。
1)、下载 TortoiseSVN(用于版本控制)、百度云 (用于存放控制后的代码)
2)、使用同一个百度云账号(可以多人同时登陆)
-
- 先选择百度云同步目录(云上的目录与本地的哪个目录进行同步)
- 在同步后的目录中找到android目录下的ShareSpeed仓库。(注:开始不存在这样的目录,此处仅用于举例,应执行如下操作,在同步目录中新建android文件夹,用于存放android项目,在andorid文件夹中建立项目文件夹ShareSpeed,并将其上建立仓库,这样其他人就可以使用先前的操作了)
3)、检出、创建项目
-
- 在本地Eclipse的workspace中创建名为(ShareSpeed)的文件夹。
-
将ShareSpeed仓库中的资源检出(svn checkout)到上面创建的(ShareSpeed)文件夹。项目文件在trunk目录下,只应该在这里编辑项目文件。
-
将trunk目录作为项目导入到eclipse,更改名称为ShareSpeed,
- 如果运行报错,先执行一下清理 项目》清理》清理ShareSpeed
4)、svn操作
-
- 每次开始工作前,应当先更新(svn update)本地代码,使之与线上同步。
- 每次工作结束后,应当提交代码(先add,在commit),提交前要先更新。提交的过程中可能出现冲突,需解决冲突后再提交。
- 由于可能存在的异步性,应当将最后一次升级的版本号,告知其他人。其他人开始工作前必须保证当前版本为最新的。否则可能导致既不能提交,也不能更新,(注:这时应当备份项目,并将当前的项目文件夹(ShareSpeed)删掉,重建,再check当前仓库中的最新代码,最后将你的更改,从备份文件添加到新建项目中,再提交。)
三、参考博客:
(svn)http://www.cnblogs.com/sw926/p/3309619.html