zoukankan      html  css  js  c++  java
  • SVN的使用

    一、如何在本机下操纵SVN 

    使用步骤

    1、下载svn(TortoiseSVN),测试svn是否成功:

    svn --version

    2、创建本地临时文件目录,这里是模拟服务端的仓库,代码提交地方,也是代码拿取的地方,假如项目做的事OA系统,就将代码放入OA中

    3、利用svn在临时文件目录中创建中央仓库

    svnadmin create D:TempOA

    此时在OA目录中会生成一些文件目录

    4、启动服务端程序

    D:TempOA>svnserve -r -d D:TempOA     #-r表示版本根目录   -d表示后台执行

    5、注册windows的svn服务

    sc create MySVNService binpath= "D:SVNinsvnserve.exe --service -r D:Temp" start= auto depend= Tcpip

    并检验服务是否启动:

    6、此时客户端可以访问服务端(注意:此时是另外开启一个cmd窗口),这里是复制主工作空间

    先创建一个文件夹,用户开发者操作空间,这里是代码提交和拿取的工作空间,如D:/TempOA/MyOA/OA,该OA文件夹中拥有helloword.txt文件,用于模仿即将提交的代码

    D:TempOPMyOA>svn checkout svn://localhost/OA

    7、提交文件

    D:TempOPMyOAOA>svn commit helloword.txt

    此时会报错,是因为说明该文件没有纳入版本控制,不可以提交到服务器端。

    8、纳入版本控制

    D:TempOPMyOAOA>svn add helloword.txt      #A表示刚刚加入仓库

    9、提交代码

    此时报错是因为提交代码时得注明一些提交的信息,如提交版本、提交人等。。

    D:TempOPMyOAOA>svn commit -m "first commit" helloword.txt

    此时还会报错,是因为没有权限操作OA,得到OA中设置访问权限

    打开服务端文件夹D:/Temp/OA中的svnserve.conf文件夹,打开# anon-access = read注释,并将read改为write

    此时通过cmd窗口再次提交代码,代码可以提交成功

     10、检验是否提交成功

    创建一个新文件夹用于模拟另外一个开发者Temp2,从服务端复制仓库

    此时Temp2中会生成OA文件夹,其目录中有helloword.txt文件,说明提交成功

    11、改变版本提交

    向helloword.txt文件夹中新添一些数据,并提交代码

    D:Temp2>cd OA
    D:Temp2OA>svn commit -m "jiaxianseng commit" helloword.txt

    此时可以看出提交的版本变成了2

    12、更新版本库

    此时开发者一还是原来的版本,更新需要update命令

    D:cd TempOA
    D:TempOA>cd MyOA
    D:TempOAMyOA>cd OA
    D:TempOAMyOAOA>svn update helloword.txt

    二、SVN在myeclipes中的使用

    1、前提本机中安装了svn客户端

    2、下载myeclipes的svn插件:下载插件

    3、将下载好的压缩包解压,并将其中的features文件夹和plugins文件夹复制到myeclipes安装目录中的dropins目录中

    4、启动myeclipes

    5、新建项目,右键点击项目,选择Team中share project,选中SVN

    6、选择创建新的资源位置,并指定URL

    7、此时会提示是否进入同步界面,选择yes,此时可以提交代码,可以指定提交部分,也可以整个项目一起提交,右键点击项目,选择提交,并写上备注

    8、其他开发者如果想要拿取代码,直接采用import->SVN

    相关注意项:

      SVN有几个图表需要注意:

           1) 金色圆筒表示版本和仓库保持一致

           2) 黑色星号表示在原有文件中新增内容但是未提交,

      3) 问号表示新增类但是未提交,未参与版本比对

               

    三、关于SVN冲突与解决

         1、什么是SVN冲突

         SVN冲突是指两个开发者更改同一个地方(如同一条语句),后来提交的人会显示SVN冲突,表示提交已经过时

      

      2、关于SVN冲突的解决

       1) 若出现以上情况,先更新代码,此时会出现以下内容,显示在两者版本不同的地方

      

           2) 项目下也会新增历史版本,方便开发者进行对比

        3) 右键点击发生冲突的文件,点击Team->编辑冲突,此时会出现两个版本不一致的地方,只要点击保存,默认认为你冲突已经解决

      4) 冲突解决后,有冲突的类会变成图下的形式

           

        右键点击原来冲突的类,选择Team->标记为解决,此时项目下的历史版本就会自动删除,此时提交不会出现错误

        

    四、关于SVN设置权限

       SVN设置权限是基于对代码的安全性操作,防止非权限用户操作代码

         1、编辑svnserve.conf文件

      1) 之前是采用的匿名访问,如果要设置权限,首先得开启授权访问代码

    # anon-access = write     #匿名访问
      auth-access = write     #授权访问

      2) 开启password-db,表示用哪个文件来保存用户名密码信息

     password-db = passwd
    

      3) 开启authz-db ,表示用authz文件来保存授权信息

    # authz-db = authz
    

      2、编辑passwd文件,该文件是用来新增授权用户名及其密码

         这里新增tom和jerry用户

    tom = 123456
    jerry = 123456
    ceshi = 123456
    

      3、编辑

    [groups]
    # harry_and_sally = harry,sally
    # harry_sally_and_joe = harry,sally,&joe
    
    kaifa = tom,jerry           #新增用户组      
    
    
    # [/foo/bar]
    # harry = rw
    # &joe = r
    # * =
    
    [/]                         #表示在跟路径下
    @kaifa = rw          #开发组有读和写的权限
    ceshi = r           #测试只有读权限
    * =               #过滤其他用户,没有读写权限

      4、此时代码的更新和提交都需要经过用户验证

           

    五、关于SVN的“时光机”

      SVN时光机是指查看获得历史提交的版本

      1、想要获得历史版本,首先得将配置文件svnserve.conf文件中的匿名用户设置为none

    anon-access = none    
    auth-access = write
    

      2、此时右键点击项目文件,选择team->显示资源历史记录,便可查看到历史的版本

      

      

  • 相关阅读:
    Elasticsearch Query DSL 整理总结(三)—— Match Phrase Query 和 Match Phrase Prefix Query
    Elasticsearch Query DSL 整理总结(二)—— 要搞懂 Match Query,看这篇就够了
    Elasticsearch Query DSL 整理总结(一)—— Query DSL 概要,MatchAllQuery,全文查询简述
    Elasticsearch Java Rest Client API 整理总结 (三)——Building Queries
    Elasticsearch date 类型详解
    python 历险记(五)— python 中的模块
    python 历险记(四)— python 中常用的 json 操作
    python 历险记(三)— python 的常用文件操作
    Elasticsearch Java Rest Client API 整理总结 (二) —— SearchAPI
    Elasticsearch Java Rest Client API 整理总结 (一)——Document API
  • 原文地址:https://www.cnblogs.com/cailijia52o/p/9460560.html
Copyright © 2011-2022 走看看