V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zhttty
V2EX  ›  问与答

最近要搞多个项目的svn分支管理,不知道我的思路对不对,请大家提下建议...

  •  
  •   zhttty · 2013-07-27 10:38:50 +08:00 · 5285 次点击
    这是一个创建于 4137 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的想法是:

    |---main:main目录下的所有文件都是主体是一直在开发的,也就是项目主线;
    |---branch:分支目录下中的都是需要修改bug的文件,不同版本的目录;
    |---tag:标签中的不同版本主要作为每个版本的备份打包;

    情景模拟:
    1、主体一直在开发,每到一个重要的版本(或上线版本),直接打包放入tag中,命名xxx-N.N版本,此版本是主体当前版本的一个镜像备份;
    2、主体继续开发,此时测试组告知xxx-N.N版本有bug需要修改;
    3、在branch做一个分支xxx-N.N-debug目录,里边是tag中xxx-N.N版本的镜像,在branch目录下修改就好了,不会影响主体;

    疑问:
    是不是branch中的文件修改后都要合并到tag?或者是一个小版本更新tag?
    branch中影响巨大的修改都要合并到main?
    还有我上面的思路有没不对或不足的地方?
    各位有这方面经验的人是怎么理解main、branch、tag三大目录的?
    怎么避免可能出现的合并冲突?
    5 条回复    1970-01-01 08:00:00 +08:00
    venngomez
        1
    venngomez  
       2013-07-27 10:43:32 +08:00
    tag是不可以合并的。
    branch合并到main(trunk)
    timonwong
        2
    timonwong  
       2013-07-27 10:46:24 +08:00
    main的理解没有问题,不过一般叫trunk...
    不过tag是不修改的(一般放里程碑和正式的版本,修订的版本新建一个tag)。
    branch里面的东西可合并可不合并,可以在里面做实验,性质上比较随意,不过svn的branch比较重,用起来不大方便,如果是在开发者本机做,可以推荐用git-svn, 用git的branch,到时候合并到上游。
    timonwong
        3
    timonwong  
       2013-07-27 10:51:04 +08:00   ❤️ 1
    哦对了,如果想让git-svn的操作方便点,最好这样组织项目结构:
    proj1/trunk, proj1/tags, proj1/branches
    proj2/trunk, proj2/tags, proj2/branches

    而不要这样:
    trunk/proj1, trunk/proj2
    tags/proj1, tags/proj2
    branches/proj1, branches/proj2
    zhttty
        4
    zhttty  
    OP
       2013-07-27 12:40:05 +08:00   ❤️ 1
    @venngomez
    @timonwong

    嗯,了解了。
    flypiggy
        5
    flypiggy  
       2013-07-27 13:35:48 +08:00
    svn让人想死的分支....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1361 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:37 · PVG 01:37 · LAX 09:37 · JFK 12:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.