svn服务器搭建与使用

最近与朋友一块做东西,用到了svn。之前接触过没常用忘得差不多了。这次写这篇文章记录下来供日后复习。

一、svn的基本操作

          版本库创建(create):版本库一般创建在一个服务器上,其他用户将自己的文件提交到这个服务器进行保存。版本库包括提交的文件,还有修改历史。

          检出(checkout):将创建一个版本库的工作副本。工作副本是开发者私人空间,可以在这里面进行代码的修改,添加文件等操作。当然,不用担心会对服务器的版本库造成破坏,因为未提交到服务器上。

          更新(update):用来更新版本库,将工作副本与服务器上的版本库进行同步。

          执行变更(add,del):当检出一个工作副本后,可以对这个副本中的文件进行修改或删除,操作完毕后,通过add或del将其加到待变更列表中。直到执行了commit之后才真正删除

          提交更改(commit):可以将在自己工作副本中修改的内容提交到服务器上,修改了服务器版本库的内容。其他用户再次checkout的时候,将会是你commit的内容。当然,commit之前,先必须将其修改的内容加到待变更列表中。

          另外还有,复查变化,修复错误,解决冲突等操作。这些可以从网上找到相关资料,此处不深入研究。

          

二、在服务端搭建svn版本库

           (1)先创建一个目录,用于保存所有的版本库。

                

           (2)创建一个版本库

                   

                        这样,便创建了一个test版本库,进入查看一下。

                             

                           会有这些文件,我们需要关注的是conf,这个文件夹下包括三个文件。

                             

                                 passwd:这个文件用于保存可以登录版本库人员的账号密码

                                 authz:用于管理访问版本库人员的权限 

                                 svnserve.conf用于指定版本库对应的passwd位置,authz位置等内容。

           (3) 进入conf下面的passwd,添加两个角色,jone与luck

                          

           (4)进入authz,设置角色的权限      

                                 

                       设置角色权限有两种方式,

                             一种是为角色设置一个group(像是luck),格式为

                                             组名=用户名1,用户名2,用户名n

                              然后,通过@组名的方式设置权限。r表示读,w表示写

                            另一种直接是 用户名=权限方式直接设置权限(像jone)。

                       另外,[/]表示可以对版本库下的所有文件都可以进行修改。

           (5)进入svnserve.conf     

                     

                  将这几个注解打开,前面不能留空格。realm指定的是版本库的位置。

           (6)启动版本库,启动方式有两种

                        一种是 

                       

                           这样是单库方式启动,启动后直接通过 一下访问直接得到test版本库的副本  

                             

                         第二种是多库方式启动

                            

                              这样,通过一下方式得到test版本库副本

                         

 三、标准目录结构

               一般情况下,svn版本库中需要创建下面三个文件夹

                          trunk:主分支,日常进行开发的地方。

                          tags:一般是只读目录,一般是阶段性的发布版本。作为一个里程碑式的文档。

                          branchs:分支目录,一些阶段性的release版本。                    

                             


ps:如有不对,请指出


 

posted @ 2018-01-26 18:13  十禾。  阅读(145)  评论(0编辑  收藏  举报