zoukankan      html  css  js  c++  java
  • 源代码管理SVN的使用

    SVN

    • 全称是Subversion,集中式版本控制之王者
    • SVN 版本控制,需要自己搭建一个管理代码的服务器,提供开发人员,上传和下载

    1.基本介绍

     

    使用环境

    要想利用SVN管理源代码,必须得有2套环境

    服务器
    • 用于存储客户端上传的源代码
    • 可以在Windows上安装Visual SVN Server
    • 大部分情况下,公司的开发人员不必亲自搭建SVN服务器
    客户端
    • 上传本地的源代码到服务器,或者更新服务器的代码到本地,保持同步
    • 可以在Mac上使用命令行、Versions、Cornerstone、Xcode
    • 开发人员就属于客户端这个角色

    2.搭建服务器

    服务器安装(windows安装)

    服务器创建代码仓库

    3.基本操作(命令行)

    • 先进入创建的存放项目文件夹目录

    项目经理初始化项目

    ①.将服务器所有的内容下载到本地

    • svn checkout 服务器地址 —username=mgr —password=mgr

    ②.进⼊入到工作目录

    • cd 工作目录

    ③.初始化项⺫

    • touch main.m 添加文件和项目

    ④.将main.m加⼊入到本地代码管理中

    • svn add main.m

    ⑤.将main.m提交到服务器

    • svn commit -m “注释”

    ⑥.查看⽂文件的状态(svn status—>简写svn st)

    • svn st 显示的文件状态
    文件状态
    • ' ' 没有修改
    • 'A' 被添加到本地代码仓库
    • 'C' 冲突
    • 'D' 被删除
    • 'I' 被忽略
    • 'M' 被修改
    • 'R' 被替换
    • 'X' 外部定义创建的版本目录
    • '?' 文件没有被添加到本地版本库内
    • '!' 文件丢失或者不完整(不是通过svn命令删除的文件)
    • '~' 受控文件被其他文件阻隔

    ⑦.删除

    删除服务器上的某个文件,需要做2个步骤
    • 将文件从本地的版本控制库中移除:svn delete 、svn remove
    • 提交刚才的删除操作到服务器:svn commit
    将文件从本地的版本控制库中移除
    • svn delete 文件名

    ⑧.查看日志

    查看日志,需要2个步骤
    • 将服务器的最新代码更新到本地:svn update
    • 查看日志:svn log

    ⑨.添加

    提交一个新建的文件到服务器,需要2个步骤
    • 添加新建的文件到本地的版本控制库中:svn add
    • 提交刚才的添加操作到服务器:svn commit
    如果直接提交一个没有添加到本地版本控制库中的文件,会报下面的错误
    • is not a working copy

    ⑩.更新

    将服务器的最新代码更新到本地

    • svn update [PATH]

    将文件恢复至某个版本

    • svn update -r 版本号 [PATH]

    ⑪.代码冲突问题:

    a.无法提交代码提示错误:out of date

    • 过期—>如果本地的版本号⼩小于服务器的版本号是 不能提交
    • 先更新一下,在查看冲突 conflict discovered

    b.代码冲突的解决⽅方案:

    • (p) postpone : 对⽐比所有的版本的代码,⼿手动解决冲突
    • (mc) mine-conflict : 使⽤用我的代码覆盖服务器的代码
    • (tc) theirs-conflict : 使⽤用服务器代码覆盖我的代码
    • (df) diff-full : 展⽰示全部的不同.是在命令⾏行中展⽰示
    • (e) edit : 直接编译⽂文件,但是也是在命令⾏行中编辑
    • (s) show all options: 再次展⽰示所有的选项

    c.选择postpone查看⽂文件中的代码

    • 在冲突的文件中有冲突展示
      <<<<<<< .mine
      我的代码
      =======
      服务器的代码
      >>>>>>> .r16
      
    • 在代码中修改后保存文件
    • 再删除多余的文件

    d.解决冲突之后命名:svn resolved ⽂文件名

    4.总结

    • 去到公司的第一天,下载公司的代码到电脑上

      • svn checkout
    • 修改了某个早已存在的旧文件,然后提交到服务器

      • svn commit
    • 提交一个自己新建的文件到服务器

      • svn add -> svn commit
    • 删除一个早已存在的旧文件,然后同步到服务器上

      • svn delete -> svn commit
    • 将其他同事提交的新代码更新到自己电脑上

      • svn update
    • 不小心写错了很多东西,想撤销所写的东西(还未把修改提交到服务器)

      • svn revert
    • 不小心删错了文件,想把文件恢复回来(还未把删除提交到服务器)

      • svn revert
    • 不小心写错了很多东西,想撤销所写的东西(已经把修改提交到服务器)

      • svn update -r 版本号
    • 不小心删错了文件,想把文件恢复回来(已经把删除提交到服务器)

      • svn update -r 版本号

    5.图形化工具的使用(Xcode 和 Cornerstone/Versions)

    • 一张图概括 

    • Xcode工具不能忽略一些不需要的文件,可以使用命令行或者Cornerstone

      注意

      a.用图形化工具导入静态库,必须用命令行 svn add 静态文件

      b.为了避免冲突,尽量别和同事一起修改同一个文件特别是storyboard或者xib文件

      c.经常commit 和 经常update

  • 相关阅读:
    echarts 变量a、b、c、d的含义
    JS实现字符点点loading效果
    ES6的异步 async promise
    ES6中Promise封装ajax的写法
    ES6 set数据结构举例
    notepad++ 正则替换 字符串开始 字符串结束
    php去除bom
    jquery-ui Datepicker 创建 销毁
    Vue-cli3 WARNING in asset size limit: The following asset(s) exceed the recommended size limit (244 KiB)
    XManager product key
  • 原文地址:https://www.cnblogs.com/ShaoYinling/p/4694042.html
Copyright © 2011-2022 走看看