一、敏捷之

敏捷开发,有一个很好的实践,“每天都可以产生一个可用于发布的版本”。

以前对这句话感到非常的困惑,因为我们手中的项目是残缺的,基本只是程序的一个功能片段,在未集成之前如何发布得了?当然这是团队开发一种早期的模式,分解功能,由相关的成员完成特定功能,最后再由某个核心成员来集成功能。这个迭代周期是很漫长的,要等待某个功能全部完成之后,才能合并到主干上。再者,负责集成的人可能还需要熟悉、了解甚至进入代码内部才能将这个功能块较好的跟现有功能融合起来。

前段时间在天猫实习的时候,经常使用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的更多相关文章

  1. 【敏捷开发】Android团队开发规范

    这里说的开发规范分成目录规范,项目和包名的命名规范,类,方法,变量和常量的命名规范这几种. 目录规范 目录规范——在开发中整体文件夹组织结构. Requirement——需求文档文件夹 Design— ...

  2. 浅谈Scrum敏捷开发:4个输入/输出、3个关键物、3个会议

    文章对Scrum敏捷开发流程进行系统的分析,希望借此文能够加深你对敏捷开发的认知,更好的展开产品工作. Scrum敏捷开发,是一种敏捷开发框架,是一个增量的.迭代的开发过程,具备可视.可集成和可运行使 ...

  3. 一图看懂华为云DevCloud如何应对敏捷开发的测试挑战

    作为敏捷开发中测试团队的一员,在微服务测试过程中,你是不是也遇到同样困惑:服务不具备独立验证能力.自动化用例开发效率很低等? 华为云DevCloud API全场景测试技术来支招~围绕API的全场景,打 ...

  4. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

  5. 小团队git开发模式

    实验室要使用Git进行代码管理,但是git非常复杂,各种开发模式也是层出不穷.作为新手的偶们很是发囧啊!!网上搜了一下,发现很多并不适合我们小团队运作(它本身就是为Linux内核管理而开发的分布式代码 ...

  6. 产品研发团队如何融合OKR与Scrum敏捷开发?

    「 OKR 」现在非常的火爆,很多公司都在使用,不仅国外的 Google.英特尔等大公司在用,国内的一线知名互联网企业今日头条和一些创业团队也都在使用. 那为什么「 OKR 」这么受欢迎呢,因为把它可 ...

  7. 如何避免Scrum敏捷开发团队反思会形式化,海星法介绍

    如何避免Scrum敏捷开发团队反思会形式化? 迭代压力很大,根本没时间,而且,反思会上大家都在互相推脱责任,会议成了“批斗大会”,所以团队的人都觉得这个会很鸡肋. 很多团队在开反思会时是这么干的:产品 ...

  8. 小程序容器技术,App热更新与敏捷开发新方案

    作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...

  9. 【DevOps】团队敏捷开发系列--开山篇

    随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发-测试-发布)模式已经不能满足快速交付的需求.2009 年左右 DevOps 应运而生,开发运维一体化,通过自动化工具与流程让整个软件开发构建.测 ...

随机推荐

  1. 将表A的数据复制到表B,以及关于主表和子表的删除办法

    如果表A的数据结构和表B的数据结构是一样的,字段名字可以不用相同,但是对应的数据类型是一样的 这样的情况下可以用如下的方式实现将表A的数据复制到表B INSERT INTO #TEMP2 SELECT ...

  2. login placeholder

    $(function(){ function isPlaceholder(){ var input = document.createElement('input'); return 'placeho ...

  3. c++/java/c# 几种编程语言的指针、引用比较

    前一段时间,我在 cnblogs 别人的博客中,谈到: java 中的引用/指针,与 c++/C# 中的引用/指针不是一个概念. Java 引用,相当于 c++ 指针(fun3).Java 引用可以赋 ...

  4. 如何在C#中模拟C++的联合(Union)?[C#, C++] How To Simulate C++ Union In C#?

    1 什么是联合? 联合(Union)是一种特殊的类,一个联合中的数据成员在内存中的存储是互相重叠的.每个数据成员都在相同的内存地址开始.分配给联合的存储区数量是“要包含它最大的数据成员”所需的内存数. ...

  5. xib上拖拽scrollview的自动布局方法

    http://www.cocoachina.com/ios/20150104/10810.html

  6. 利用HTML5开发Android(1)---Android设备多分辨率的问题

    Android浏览器默认预览模式浏览 会缩小页面 WebView中则会以原始大小显示 Android浏览器和WebView默认为mdpi.hdpi相当于mdpi的1.5倍 ldpi相当于0.75倍 三 ...

  7. UI:转自互联网资料

      1.UIWindow和UIView和 CALayer 的联系和区别? 答:UIView是视图的基类,UIViewController是视图控制器的基类,UIResponder是表示一个可以在屏幕上 ...

  8. 转载:js和as间的交互

    转载一: 提及AS3与外部脚本的交互,笔者认为可以总结成两种.一是AS3调用外部函数,二是外部脚本调用AS3函数.无外乎就 这两种.在调用函数的同时,我们还可以向函数传递一些参数.这就达到了传递数据的 ...

  9. Swift 实现Bitmask Option(Enum)

    在Swift中实现ObjC中的NS_OPTION不是通过enum,而是通过conform RawOptionSetType protocol的struct来实现的. 代码如下: struct Test ...

  10. js页面文字选中后分享到新浪微博实现

    demo您可以狠狠地点击这里:js文字选中分享到新浪微博demo 方法与代码 选中即分享的功能看上去比较高级,其实实现是相当简单的.其中的会让人头大,一般人也不感兴趣的原理这里就直接跳过.这个js文字 ...