从敏捷开发到小团队SVN
一、敏捷之惑
敏捷开发,有一个很好的实践,“每天都可以产生一个可用于发布的版本”。
以前对这句话感到非常的困惑,因为我们手中的项目是残缺的,基本只是程序的一个功能片段,在未集成之前如何发布得了?当然这是团队开发一种早期的模式,分解功能,由相关的成员完成特定功能,最后再由某个核心成员来集成功能。这个迭代周期是很漫长的,要等待某个功能全部完成之后,才能合并到主干上。再者,负责集成的人可能还需要熟悉、了解甚至进入代码内部才能将这个功能块较好的跟现有功能融合起来。
前段时间在天猫实习的时候,经常使用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
(构建)http://blog.csdn.net/ccd1516/article/details/14554857
从敏捷开发到小团队SVN的更多相关文章
- 【敏捷开发】Android团队开发规范
这里说的开发规范分成目录规范,项目和包名的命名规范,类,方法,变量和常量的命名规范这几种. 目录规范 目录规范——在开发中整体文件夹组织结构. Requirement——需求文档文件夹 Design— ...
- 浅谈Scrum敏捷开发:4个输入/输出、3个关键物、3个会议
文章对Scrum敏捷开发流程进行系统的分析,希望借此文能够加深你对敏捷开发的认知,更好的展开产品工作. Scrum敏捷开发,是一种敏捷开发框架,是一个增量的.迭代的开发过程,具备可视.可集成和可运行使 ...
- 一图看懂华为云DevCloud如何应对敏捷开发的测试挑战
作为敏捷开发中测试团队的一员,在微服务测试过程中,你是不是也遇到同样困惑:服务不具备独立验证能力.自动化用例开发效率很低等? 华为云DevCloud API全场景测试技术来支招~围绕API的全场景,打 ...
- 小谈Scrum敏捷开发流程
一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...
- 小团队git开发模式
实验室要使用Git进行代码管理,但是git非常复杂,各种开发模式也是层出不穷.作为新手的偶们很是发囧啊!!网上搜了一下,发现很多并不适合我们小团队运作(它本身就是为Linux内核管理而开发的分布式代码 ...
- 产品研发团队如何融合OKR与Scrum敏捷开发?
「 OKR 」现在非常的火爆,很多公司都在使用,不仅国外的 Google.英特尔等大公司在用,国内的一线知名互联网企业今日头条和一些创业团队也都在使用. 那为什么「 OKR 」这么受欢迎呢,因为把它可 ...
- 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍
如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了“批斗大会”,所以团队的人都觉得这个会很鸡肋. 很多团队在开反思会时是这么干的:产品 ...
- 小程序容器技术,App热更新与敏捷开发新方案
作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...
- 【DevOps】团队敏捷开发系列--开山篇
随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...
随机推荐
- svg base64
好多h5页面有出现data:image/png;base64,后面跟了一串类似乱码的字母 查了下原来这也是svg或者是图片 <img src=“data:image/png;base64,iVB ...
- Codeforces Round #365 (Div. 2) D. Mishka and Interesting sum (离线树状数组+前缀xor)
题目链接:http://codeforces.com/contest/703/problem/D 给你n个数,m次查询,每次查询问你l到r之间出现偶数次的数字xor和是多少. 我们可以先预处理前缀和X ...
- 当WEB站点应用程序池标识为ApplicationPoolIdentity,出现运行错误时的解决方法
对于数据库文件加Authenticated Users用户,并授予完全权限.
- yum命令的使用
yum源的配置,请参考此文:RedHatLinux 本地yum源的配置.本文讲解如何使用yum命令. [root@serv01 ~]# yum --help Loaded plugins: produ ...
- linux系统命令解析(0基础篇)
经常使用命令 ctrl+W+T 当进入gvim文档编辑界面后,假设是C文件,能够列出当前文件里的全部函数. Shift+* 当进入gvim文档编辑页面,能够搜索当前keyword. ech ...
- function设置jsp页面使用js控制文本框只读,并且按下backspace删除按钮后停在原页面
最近一直在学习function设置之类的问题,现在正好有机会和大家分享一下. 设置只读 document.getElementById("projcode").setAttribu ...
- oracle存储过程实例
oracle存储过程实例 分类: 数据(仓)库及处理 2010-05-03 17:15 1055人阅读 评论(2)收藏 举报 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的P ...
- 分享 Java微信开发SDK
分享 Java微信开发SDK •发布于 4周前 •作者 朋也 •432 次浏览 •最后一次编辑是 2周前 •来自 分享 给大家分享两个java开发微信公众号的sdk jfinal-weixin ...
- Fork/Join框架之双端队列
简介 ForkJoinPool管理着ForkJoinWorkerThread线程,ForkJoinWorkerThread线程内部有一个双端队列,这个双端队列主要由一个数组queue.数组下标queu ...
- 虚拟机VMware 9安装苹果MAC OSX 10.8图文教程
前些天虚拟机VMware Workstation 9出来,相信大家都已经熟悉VM9了,至于MAC OSX 10.8系统,那也是出来一段时间了,本篇文章就是来讲解VMware Workstation 9 ...