SVN项目管理:分支库与合并库


       上周接到PM大人的新任务,给主库做分支。


        

       首先,先来看下SVN默认的三大文件夹,这三个文件夹建完库之后,一般默认会有,但是以前用的时候,还是比较简陋的,几乎都是大家提交到trunk里面,整个开发流程下来,一直用的是这个库。


        那么,这三个文件夹都应该用来放什么东西呢?


        分支(Branching)
             分支起始的时候是主线的一个拷贝,但是其后他将保持独立性,拥有自己的变化。
            有时你需要创建一个分支,例如你需要开发一个新功能,但是你又不希望新功能开
            发完成之前影响主线的开发。

      标记(Tagging)
              标记是版本库中一个特定版本的快照。通常当项目进展到里程碑或者你预备发 布
              release 版本的时候你需要创建一个标签。 虽然也可以对标记进行 Commit, 但是一般
              都不这么做。

        合并(Merging)
               当分支开发进行到某个特定场景的时候,通常需要将更改合并到主线中。例如,如
               果开发的心功能已经稳定,那么分支就可以合并到主干了。


           这边的项目是,项目刚上线,但是有很多bug,也有很多新需求,所以,将现在主库中的代码放到了分支一份,然后大家重定位到分支库,修改分支库内容。当测试通过后,再合并到主库中。



        如何分支?


           在检出的trunk目录下的项目上,选择分支(其实分支和打tag操作是很一样的)。


                     SVN项目管理:分支库与合并库


                     之后,我们在服务器上看,就会看到branch目录下多出了"分支测试2";


                       SVN项目管理:分支库与合并库

                   

            查看版本分支图:

 

            

                     SVN项目管理:分支库与合并库




                 可以看出各个分支版本是从哪个版本分支出去的。


                      

                

           合并分支到trunk?


                    当我们有的多个分支开发完毕,这是就需要合并回主库。

        

                         SVN项目管理:分支库与合并库


              

               当选择合并完成之后,发现本地工作副本变为修改过未提交的状态。


   

                       此时,我们还有将本地工作副本提交一下,才能真正合并。



                      SVN项目管理:分支库与合并库



             其实SVN的管理还是比较集中式的管理,跟现在很多人用的集中式的GIT相比,SVN很少分支。。。N多。。。


          最后想说,版本控制不是源码管理。。。。各位开发请自重。。。。









            



           

上一篇:一篇极度舒适的OpenGL_ES环境搭建(Ubuntu 18.04 LTS)


下一篇:阿里云 ECS 7天实践训练营 D5 学习心得