从敏捷开发到小团队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 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...
随机推荐
- initialSize,maxTotal,maxIdle,minIdle,maxWaitMillis
初始化连接数:默认值 0 同一时刻可分配最大连接数:默认值 8 ,设置为负数时不做限制 最大空闲连接,默认值 8 ,超出连接将被释放 最小空闲连接数,默认值 0 请求连接最大等待时间(毫秒),默认值 ...
- Pongo建立信号基站-实际上还是考中位数
题目: 要建立一个信号基站服务n个村庄,这n个村庄用平面上的n个点表示.假设基站建立的位置在(X,Y),则它对某个村庄(x,y)的距离为max{|X – x|, |Y – y|}, 其中| |表示绝对 ...
- SSH下载的方法2
------------------------------下作下载方法二---------------------------------------------------String msg=n ...
- leetcode:Path Sum (路径之和) 【面试算法题】
题目: Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up ...
- android 三种弹出框之一PopupWindow
PopupWindow 在android的弹出框我目前了解到的是有三种:AlertDialog,PopupWindow,Activity伪弹框, AlertDialog太熟悉了,这里就不介绍了 就先看 ...
- Servlet容器的启动过程
[http://book.51cto.com/art/201408/448854.htm] Tomcat的启动逻辑是基于观察者模式设计的,所有的容器都会继承Lifecycle接口,它管理着容器的整 ...
- 学习tolua#·20多个例子
初始项目搭建 clone官方库 新建unity工程 依次把官方库里的Assets和Unity5.x/Assets拷贝到项目Assets里 打开unity工程, 开始逐个学习例子,例子目录: 1. he ...
- 不要滥用div,保持代码的整洁
这篇文章算是很基础的了.旨在介绍如何保证页面代码的整洁.以维护性.使用有语义的页面标签,减少标签的滥用. 1. 移除不必要的<div>标签 嵌套在<form><ul> ...
- 直接运行PowerShell脚本
以管理员权限运行下面语句:ftype Microsoft.PowerShellScript.1="C:\WINDOWS\system32\windowspowershell\v1.0\pow ...
- 使用visual studio 2013 快速搭建phonegap开发环境
前一段时间开发了一款简单的Phonegap应用,遇到了很多坑,其中有一个坑就是在搭建开发环境上.由于Phonegap 2.x 与3.x 区别比较大,导致了开发环境也有所不同.2.x 是这样的http: ...