一、敏捷之

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

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

前段时间在天猫实习的时候,经常使用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. HDU 4539郑厂长系列故事――排兵布阵(状压DP)

    HDU 4539  郑厂长系列故事――排兵布阵 基础的状压DP,首先记录先每一行可取的所哟状态(一行里互不冲突的大概160个状态), 直接套了一个4重循环居然没超时我就呵呵了 //#pragma co ...

  2. UVa 1620 Lazy Susan (找规律)

    题意:给 n 个数,每次可以把4个连续的数字翻转,问你能不能形成1-n的环状排列. 析:找一下奇偶性,写几个数试试,就会找到规律. 代码如下: #include <cstdio> #inc ...

  3. JVM启动参数小结

    一:JVM启动参数共分为三类:         其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:        其二是非标准参数(-X),指的是JVM底层的一些配置参数, ...

  4. java使用org.apache.poi读取与保存EXCEL文件

    一.读EXCEL文件 package com.ruijie.wis.cloud.utils; import java.io.FileInputStream; import java.io.FileNo ...

  5. APP接口版本兼容的问题

    现在基本每个公司都做APP,所以大家都面临 APP接口版本兼容的问题. iOS和android 要不断开发新版本,很多服务端开发都是在以前接口的逻辑上进行修改.新的APP和接口开发后,接口如何兼容老的 ...

  6. Oracle中wm_concat()函数的使用

    Oracle中wm_concat()函数的使用 wm_concat()函数是oracle行列转换函数,该函数可以把列值以‘,’分割开来,并显示成一行. 1.原数据: 2.把结果分组以‘|’分隔,以一行 ...

  7. 服务器资源共享--IIS站点/虚拟目录中访问共享目录(UNC)

    本文重点描述如何使用IIS访问共享资源来架设站点或执行 ASP.Net 等脚本. 通常情况下,拥有多台服务器的朋友在使用IIS建立站点的时候,会遇到如何把多台服务器的资源合并到一起的问题.如何让A服务 ...

  8. 69道java Spring面试题和答案

    http://www.jfox.info/69-dao-java-spring-mian-shi-ti-he-da-an 目录 Spring 概述 依赖注入 Spring beans Spring注解 ...

  9. jquery调用页面的方法

    本文转载:http://www.cnblogs.com/chenxizhang/archive/2009/05/28/1491250.html 有些朋友问到,能不能在jquery代码中调用后台cs页面 ...

  10. c语言操作符 “++”另类行为

    正常情况下,我们使用++ int a = 1; a++; printf(“%d”,a); // 2; 很简单没什么好说的. #include <stdio.h>   int main() ...