SVN常用命令指南

  1. svnadmin create 保存资源的文件目录
  2. 如果提示不是内部指令的话就到服务端安装文件里有一个bin文件,找到svnadmin.exe直接点击运行,之后码上命令直接执行就OK;
  3. SVN服务走SVN协议,端口号是3690
  4. svnserve -d(独立端口运行) -r(仓库地址)
  5. svnserve -d -r c:\app //启动app仓库服务
  6. 自动服务后,该CMD窗口停靠,关闭后服务相继关闭
  7. 右键SVN checkout执行检出
  8. 接着输入仓库地址[URL of repository]
  9. 如果是本地就是svn://localhost
  10. 连接外部电脑则输入IP地址即可
  11. 如果首次出现问题,则可能是以前安装过,考虑查看服务列表中是否有相关服务未删除,如果有的话,删除即可;
  12. 在自己的工作文件夹中编写代码文件
  13. 工作完成后右键点击文件,执行add命令,进行管理
  14. 再次右键文件选择commit提交命令,提交到仓库中
  15. 如果是第一次使用则会有错误提示,没有权限提交到仓库,这时候就需要开启匿名账号权限
  16. 找到正在运行的本地仓库,进入conf文件夹,打开svnserve.conf配置文件
  17. 修改第十二行代码[# anon-access = read],修改为[anon-access = write]
  18. 找到 revprops,这里存放的是我们自己写的日志信息
  19. 找到revs,里边是存放的代码文件的具体内容
  20. 在工作目录中右键点击update可以从仓库地址更新到自己的工作目录中
  21. 当新建一个工作目录进行右键菜单点击checkout检出时,会把仓库中的文件更新到新建的工作目录中。
  22. 新目录中的文件不能直接提交,必须是目录本身已经提交给仓库了,该仓库目录的文件才可以单独进行commit提交动作
  23. 当在工作目录中新建了多个文件,想一次性提交多个文件时,右键即可,软件会自动获取未操作文件进行列表显示供我们选择,被选择则是即将提交的文件
  24. 可以一次性打开多个仓库——>把所有仓库的父级目录当成服务器启动起来——>svnserve -d -r 所有仓库的父级目录
  25. 用户更换svn主机名地址:删除隐藏的文件.svn文件,即可断开与仓库的连接。重新checkout并根据svn新主机名建立与仓库的新联系
  26. 有多个仓库时,当新建工作文件夹时,checkout与主机建立连接,如果是本地的话,格式为

    localhost/仓库目录名

  27. 当以前的|旧的工作文件夹想要操作的时候,进行update或者commit操作时会发现软件又提示错误信息了,为什么呢?这是因为一个性启动多个仓库管理,当再次更新仓库中的文件时,不知道想要更新哪个仓库中的内容,所以,解决办法就是重新连接一次主机;如svn://localhost/newapplication

  28. 当再次连接主机的时候,如果工作文件夹中本就存在文件,SVN则会提示该工作文件夹目录不是空目录,让选择是否选择继续操作,如果继续点击是即可;
  29. 同一个文件的不同版本切换:所选文件右键选择TortoiseSVN->Update to revision,如果记不住版本号,就选择head revisieion然后show log,查看日志信息;选择所需要的文件,把“文件”指定更新到工作目录中;点击OK即可;如果再想恢复或者选择其他版本,重复此操作步骤即可;
  30. SVN的冲突问题:
    1. 广义角度的冲突:提交程序文件,本地版本号码小于服务器版本号码
    2. 狭义角度的冲突:多个程序员对同一个文件,同一处代码修改,在他们提交的时候会产生冲突;
    3. 通过VSS来解决(visual source safe)源代码控制管理软件
    4. 通过版本号码进行控制,用户commit文件,本地文件版本与仓库文件版本一致才可以提交,如果小于服务器最新文件版本号,则需要将服务器最新文件更新到本地,然后进行提交;否则 禁止提交本地代码带服务器,以免覆盖;
  31. 大家修改的代码不在同一处时:合并文件并commit,处理同一处代码时,则要更新到本地工作目录,自己修改之后再进行提交;
  32. 显示“由于目标计算机积极拒绝,无法连接”时,则需要打开SVN仓库;
  33. 当修改同一个文件但是不是同一处代码时,如果本地工作目录中提交文件上传,显示文件过时,那么要考虑本地当前版本号是否小于服务端仓库版本号;如果小于,那么应该更新到最新版本号码;服务端仓库更新到本地会和自己的工作目录中即将提交的代码文件进行合并操作;Merged;
  34. 当修改同一个文件并且修改同一处代码时,从服务端更新到本地,会多三个文件,mine结尾的是自己修改后的效果,小版本是旧版本的文件,大版本的是最新提交的文件;
  35. 自己编写的文件会有黄色图标,内容会显示两次修改后的结果。,自根据开发者的意图来修改代码然后再次提交;
  36. 仓库中,authz是设置用户权限,password是设置账户【用户名和密码】
  37. 把svnserve.conf中[# password-db = password]修改为[password-db = password]即可引入辅助文件——password文件,[# authz-db = authz]修改为[authz-db = authz]即可引入用户权限文件。
  38. 修改password文件,
    1. [users]
    2. # harry = harryssecret
    3. # sally = sallyssecret
    4. tom = tome 123
    5. marry = marry123
    6. 增加了两个用户
  39. 修改authz文件,给指定的仓库账号设置权限
    1. 仓库有两种类型
      • 启动多个仓库服务
        • [app:\]代表设置app仓库下的用户权限,rw是读写,r是只读,* = 是其他用户没有权限。注意空格等格式。如下:
          • [app:\]
          • tom = rw
          • marry = r
          • * =
            1. 给组别设置权限
              • [groups]
              • @java = java1,java2,java3,java4
              • [app:\]
              • java = rw
            2. 只让组员操作某一个文件或文件夹
              • 先把最新创建的文件夹提交到服务端,给用户只操作一个文件夹的权限,比如操作application,如下:
              • ——————————————
              • [app:\application]
              • programmer_01 = rw
              • programmer_02 = rw
              • programmer_03 = rw
              • * =
              • ———————————————-
              • 以上*= 指的是其他用户没有权限
              • 连接主机时则需要输入:[svn:localhost//app/application]进行连接

      1. 设置启动项服务
        • sc create 服务名称 binPath = “svn服务器安装目录/bin/svnserve.exe -r 服务仓库地址目录 –service” start= auto;
      2. 删除服务:
        • sc delete 服务名称
  40. 关闭匿名账号设置conf文件svnserve.conf,如下 :
    • anon-access = none;
    • 如果使用#屏蔽的话,将看不到日志信息,SVN自带BUG
    • 如果操作正确但不成功的话,考虑清除设置settings中的缓存
  41. 在右键查看日志信息时,同时选中两个日志信息,右键选择compare revisions[比较两个版本的异同]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值