源代码管理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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏编程

在linux下安装w3af和使用

技术交流,请勿用于违法途径,后果自负 一、环境: sudoapt-get install git Python 2.7,大部分的linux都默认安装 sudoa...

3359
来自专栏从零开始学自动化测试

Selenium2+python自动化27-查看selenium API

前言 前面都是点点滴滴的介绍selenium的一些api使用方法,那么selenium的api到底有多少呢?本篇就叫大家如何去查看selenium ap...

3479
来自专栏ionic3+

【技巧】ionic多环境配置

这种方式稍显麻烦,也容易误操作,而比较优雅的方式是通过配置文件和命令行参数结合来实现。

1952
来自专栏cnblogs

vue、rollup、sass、requirejs组成的vueManager

近段时间本人一直在思考如何基于vue搭建一个中后端管理系统的通用基础前端解决方案。思考的主要问题点如下: 如何使各个子业务模块的按需加载 css预处理方案的选择...

2606
来自专栏沈唁志

怎么使用 Git 和 Github 向开源项目提交 Pull Request

渣渣橘又跟我提了一下毒鸡汤,看了一下之前学的 python 脚本还能用,然后在 Github 上看到了一个爬虫集合的项目,收集各种爬虫

1463
来自专栏mathor

键盘快速启动工具——Launchy

1894
来自专栏服务端技术杂谈

搞定分库后数据冗余和数据一致

当单个数据库数据量达到一定程度后,我们可以采用多个从库解决读请求的系统瓶颈。 而写请求的系统瓶颈往往需要通过分库解决。

2923
来自专栏Python爬虫与数据挖掘

安装完Python之后,如何设置Python环境变量

人生苦短,我用Python。最近有许多加群的萌新在咨询Python安装的事宜,Python安装问题不大,可以戳这篇文章:。本以为安装Python之后就可...

1472
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Node.js

Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用JavaScript,开发可以更加一致并在同一系统...

8006
来自专栏IT 指南者专栏

Maven 项目管理工具基础入门系列(二)

? 一、前言 Maven 项目管理工具基础系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经...

3709

扫码关注云+社区

领取腾讯云代金券