美文网首页
SVN的使用

SVN的使用

作者: MasterChen | 来源:发表于2016-09-29 22:17 被阅读0次

    安装及使用VisualSVN-Server(SVN服务器工具)

    SVN是一款集中式版本库控制工具
    VisualSVN-Server及Cornerstone下载链接

    VisualSVN-Server的安装及使用

    1. 在windows平台上安装VisualSVN-Server图解:
      <pre>


      安装图步骤1.png
      安装图步骤2.png
      安装图步骤3.png
      安装图步骤4.png
      安装图步骤5.png
      安装图步骤6.png
      安装图步骤7.png

    由于软件不会自己创建快捷方式,为了简单操作,可以自己创建快捷方式:

    创建快捷方式.png

    </pre>

    2 . VisualSVN-Server常见操作图解
    <pre>

    1. 创建仓库图解


      创建一个新的仓库步骤1.png
      创建一个新的仓库步骤2.png
      创建一个新的仓库步骤3.png
      创建一个新的仓库步骤4.png
      创建一个新的仓库步骤5.png
    2. 在仓库中创建新文件夹


      在仓库中创建文件夹.png
    3. 创建新用户


      创建新用户1.png
      创建新用户2.png
    4. 添加分组


      添加分组1.png
      添加分组2.png
    5. 设置读写权限


      设置读写权限.png

      </pre>

    SVN初始化项目及常用操作

    1. 将服务器已有的内容下载到本地(提示:checkout(co)之后,命令行会记录用户名和密码,后续操作不用再另行指定)checkout==co
      <pre>
      $ svn checkout https://172.16.83.128/svn/ingke/ --username=用户名 --password=密码
      </pre>

    错误提示:"is not a working copy",必须在svn的工作目录下才能正确使用svn的命令
    如果出现https://协议问题,在问题代码后直接键入p 按回车

    1. 初始化项目
    • 进入工作目录 (含有.svn文件夹的目录)
    • 初始化项目 (将工程拖到工作目录下)
    1. 将初始化的项目添加到本地代码仓库中
      svn add 文件名
    2. 将文件提交到服务器(commit==ci
      svn commit -m "注释"
    3. 参看本地代码库状态
       svn status / svn st 显示的文件状态(`st==status`)
    

    状态码 描述文字

    1. 空白 没有修改

    2. A 文件已被添加到本地仓库管理中,但是还未添加到服务器中(服务器的仓库还未管理该文件)

    3. C 冲突

    4. D 该文件已经在本地被删除,但还没有将删除操作共享给服务器

    5. I 被忽略

    6. M 文件已经被本地管理,并且服务器也有该文件,但是新修改的修改内容没有被提交到服务器

    7. R 被替换

    8. X 外部定义创建的版本目录

    9. ? svn不识别该文件,或者该文件被删除过,或者该文件是新添加的文件,还没有被本地代码仓库进行管理

    10. ! 文件丢失或者不完整(不是通过svn命令删除的文件)

    11. ~ 受控文件被其他文件阻隔

    12. 个人基本操作

    1. 修改文件之后,使用svn commit -m "注释"重新提交到服务器
    1. 删除文件(一定要使用svn操作指令删除文件)
      svn remove 文件名 (remove==rm==delete==del)

    2. 撤销修改:$ svn revert 文件名

    3. 多人开发

    1. svn update 从服务器上下载更新最新的内容
    1. 错误提示out of date 表示文件过期 (不能提交代码的情况:当本地的版本号小于服务器的版本号时,不能进行提交)
    2. 错误提示Conflict discovered in '冲突路径'

    冲突解决选项:

    1. 常用选项:
      (p) postpone  :生成文件,让使用者对比冲突,手动修改,(修改完成后,使用代码:`svn resolved 文件名` 删除生成的多余文件)
    
    postpone选项在冲突位置的格式.png

    (mc) mine-conflict :使用我的代码覆盖服务器的代码
    (tc) theirs-conflict :使用服务器的代码覆盖我的代码

    2.不常用选像
      (e) edit :在命令行中编辑文件
      (df) diff-full : 在命令行中展示所有的不同
      (s) show all options   :重新展示所有选项
    

    svn版本回退操作(借鉴crazy hacking的专栏

    1. 查看之前更新过的版本
      $ svn log //查看svn日志
      $ svn log filename //查看某一个文件的日志
      $ svn log filename@1 //查看某一个文件某一个版本的日志

    2. 更新到之前某个版本
      $ svn update -r 版本号

    3. 使服务器恢复到之前某个版本

    1). 使用svn update -r 版本号回到之前版本,查看是否是我们需要的版本
    2). 使用svn update 回到最新版本
    3). 将最新版本合并到某一个版本svn merge -r 最新版本号:回退版本号 希望回退的文件名
    4). 使用svn ci -m "注释"重新提交改变服务器文件内容
    注意:还可以使用svn merge --dry-run来模拟假装merge一下,看一下merge会发生什么,而不是真正的做这个动作。
    svn merge --dry-run -r:2011:2010 http://my.repository.com/my/project/trunk
    svn merge -r:2011:2010 http://my.repository.com/my/project/trunk
    svn commit -m "Reverted to revision 2010."

    1. 使用cornerstone实现版本回退
      IOS开发中,SVN如何恢复到某一个版本(以Cornerstone为例)

    相关文章

      网友评论

          本文标题:SVN的使用

          本文链接:https://www.haomeiwen.com/subject/xcfqyttx.html