iOS SVN

说来真是不好意思,做了这么长时间的开发一直没有使用svn。
周围的人都在使用,以前也学习过,但是在公司都是自已一个人开发,也没有用。

现在还是来记一下吧:
svn就是一个版本控制工具。
原理:
首先建立一个svn服务器,用于代码的统一管理。开发者连接svn服务器提交、更新代码。

从我学习过程开始填写吧。
同事提供给我一个svn地址和一个账号密码。
我们第一件事就是把svn地址里面的源码给下载下来。
我们打开命令行工具terminal.
我们首先cd到我们放文件的目录 这里我们放在桌面。
这里写图片描述
我们利用svn 将代码下载到该目录下
svn checkout +svnURL 这样默认下载到当前路径下
这里写图片描述
这就表示下载完成了。在桌面上就有了ios_dm文件。

现在文件下载下来了,但是里面是空的,没有工程。我的工程在本地一直没有用过svn。
我们想把自己的工程放到svn服务器上
首先将工程拖入到ios_dm/trunk目录下。
然后执行命令 svn add ios_dm/trunk/工程文件名
这里写图片描述
会看到很多类似的打印。这表示已经填加到本地仓库了。我们先在可以提交到svn服务器了。
svn commit -m “日志记录”
这里写图片描述
提交完成会输出版本信息
这里写图片描述
这表示已经提交成功。
在这我们的工程就算提交到服务器了。以后需要的话直接从服务器下载就行了。
我们在使用的时候也会遇到错误

我们来到公司的第一件事就是更新昨天提交的代码。因为不只自己在用,被人也在用。别人也提交了很多代码。
来到目录下
这里写图片描述
来更新代码
svn update
这里写图片描述
更新到最新的代码就开始写工程了。
开发完每天的任务就是提交代码了。当你svn commit 的时候胡出现
这里写图片描述
当我们看到out of date的时候,我们要知道这是本地版本与服务器版本不符,也就是说在你提交之前,别人已经提交过了。你需要先从服务器上更新最近的代码。
但是我们在update 的时候也会出现下面情况。这里写图片描述
这就是我们说的冲突了。我们需要解决冲突。出现冲突的原因是因为多个人修改了相同文件的同一个地方。
从图中我们可以发现有多种方案让我们选择
选择: (p) 推迟,(df) 显示全部差异,(e) 编辑,
(mc) 我的版本, (tc) 他人的版本,
(s) 显示全部选项:
mc表示用我们本地的代码,覆盖服务器代码。
tc 表示用服务器代码,覆盖本地代码
p表示将服务器代码和本地代码全部放在一起手动解决。
df显示差异
我们来输入df看一下:这里写图片描述
其中+<<<<<<< .mine到+=======中间的代码 是我们本地的代码
+=======到+>>>>>>> 是服务器代码 .r5表示服务器代码版本是5.
我们选p 再看本地文件会多出三个文件。这里写图片描述
第一个文件是我们自己修改的文件副本,第二个是最初的文件副本,第三个是服务器最新版本的文件副本。
现在AdversModel.h文件我们打开会出现与上面打印差异相同的文字。
这里写图片描述
我们手动将代码修改一下。
修改完成
这里写图片描述

我们需要提交一下冲突解决。
svn resolved 解决冲突的文件
这里写图片描述
现在我们就可以重新提交了。
这里写图片描述

在提交过程中出现了个小插曲:电脑突然死机了,我重启了一下,出现了下面情况。
这里写图片描述
异常提交,存在冲突的残留。
现在我们需要先解决残留问题。
这里写图片描述

我们通过svn log 指令来获取版本信息
这里写图片描述

我们有时候或许需要转换到以前的版本。
使用svn update -r 4 4代表第4个版本
这里写图片描述

当我们不小心删除或者想把文件撤回到原来状态的时候使用
svn revert 文件名

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

我们在使用svn过程中一定要使用svn help
当我们的某个命令不会使用的时候我们使用svn help 指令

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值