SVN简单流程---以公司的使用方法为例

一  名词解释

svn一般包括      branch  每个branch版本都要生成对应的tag.例如 branch版本号为1.0.0,那么提交后生成的tag版本号为1.0.0.0;当branch修复bug提交后,tag的版本号为1.0.0.1

                              trunk    trunk一直往前走,不会回滚

                              tag      供测试使用

                              branch 自己的分支

                              milestone 上线使用


二  一般步骤

1  下载

使用 svn co把代码下载下来

使用svn copy 在svn上建立branch目录

使用svn switch 把本地的trunk映射到svn 的brach目录

2 开发

在trunk下开发,在开发过程中不段的把程序svn ci 提交。

3 提交

开发完毕。

新下载一个代码,svn merge  trunk 和  branch生成tag


三 实例说明

1   创建branch. 从trunk中获取最新的代码,创建一个自己的branch,进行开发(当有branch后就不需要再打branch了,每天更新即可)
                   (1)svn copy ​svn://utils/trunk ​svn://utils/branches/branch_xiaoming
                    (2)checkout项目代码, svn checkout ​svn://utils/


2   开发. 得到branch后,如何开发?
            (1)在本地的trunk目录下执行svn switch ​svn://utils/branches/branch_xiaoming, 如果不用switch将无法共享编译环境。
             (2)执行svn info就会发现已经显示在branch下边了,本地目录还是trunk,这个时候的修改提交都是提交到自己的branch
             (3) 查看branch 从trunk copy 出来的时间日志,找到版本号:svn log --stop-on-copy
             (4)定期从trunk merge 到 branch代码, svn merge ​svn://utils/trunk@478 ​svn://utils/trunk   (这一步其实直接提交就行了把?????)
             (5)最终svn ci到branch中。在提交代码前,一定要确认是在trunk下边还是branch下边

3  打tag.   进行开发、自测,自测通过后打tag提测 
                打tag之前应该:(1)
                (1)svn copy ​​svn://utils/branches/branch_xiaoming ​svn://utils/tags/tag_2.1.2
                (2)注:版本号命名参照版本号命名规范
4  merge到trunk.    测试通过后,merge到trunk,在merge的时候一定要update一下trunk,得到最新的代码。以免把别人的修改给污染了。如果你和别人开发的功能有冲突,那么在merge时小心一些,最好和对方一起确认一下一般就可以了,进行简单的回归测试。(第一种方法:svn的branch merge到svn的trunk上。比较危险?

第二种方法:下载新的代码,然后本地merge branch和trunk 到trunk中,之后再提交)


四 图示


                                       branch

                                /           |

                              /             |(1)每天merge trunk到branch

                            /               |

 2)开发结束自测后打tag     trunk

                                  /        |

                               /           |3)tag经测试人员测试后,生成trunk

                           /                |

4)trunk 中打milestone     tags(供测试使用)

                                            | 

                                             |

                                             |

                                         milestone(上线版本)





原文地址:https://www.cnblogs.com/catkins/p/5270569.html