Xcode结合Terminal终端对SVN的使用

Git和SVN是大家常用的版本管理工具,在自己学习过程中常使用Git管理,Xcode也很好的支持了Git,但是公司项目使用的是SVN,自己会基本的使用,但是一直有点迷糊。现结合目前项目中遇到的问题做个总结。

1. Xcode中SVN各种符号表示的含义

  • ‘A’ 新增
  • ‘D’ 删除
  • ‘M’ 修改
  • ‘R’ 替代
  • ‘C’ 冲突
  • ‘I’ 忽略
  • ‘?’ 未受控
  • ‘!’ 丢失,一般是将受控文件直接删除导致

    如何解决?
  • ‘A’ : 出现A标记表示文件新添加的,已在SVN版本控制下,直接commit即可
    (右键该文件 -> source control -> commit selected file…)

  • ‘D’ : 出现D标记表示文件在服务器上已被删除,此时右键该文件 -> source control -> update之后本地文件也会被删除
  • ‘M’ : 出现M标记表示文件已修改,确认修改直接commit即可
  • ‘R’ : 出现R标记表示文件已被替换,确认无误直接commit即可
  • ‘C’ : 出现C标记表示文件表示该文件与服务器的文件冲突,此时需要解决冲突
    -代码中 某文件后面有 “?” 标记,表示该文件是新添加的,并且脱离了SVN的管理,首先需要add,然后 commit.
    (右键该文件 -> source control -> Add,这样该文件的标记就变为 “A”,然后再commit)
  • ‘!’ : 出现!标记表示文件已丢失,检查文件,如果确实是需要删除,在terminal终端用命令行删除,如下:
cd {你的文件目录}
svn status
svn delete {要删除文件的路径}

2.遇到的问题

(1)在Xcode 中删除文件后直接提交SVN,发现文件任然在本地目录中存在

解决办法:在Xcode中直接删除SVN管理的文件,由于Xcode引用文件的方式不同,出现的结果不尽相同,如果遇到Xcode中不存在,但是svn co 下来的文件夹中任然存在已删除的文件,则直接到终端执行:

svn status
svn delete {要删除文件的路径}
svn commit -m "删除xxx文件"

(2)SVN的各种图标可能同时存在

如图:
这里写图片描述

‘!’和 ‘M’同时存在,这几个文件是我直接删除后重新引入的,不知SVN是如何检测,解决办法如下:

svn status
svn delete {要删除文件的路径}
svn commit -m "删除xxx文件"

当然,如果删除后出现其他符号,对应解决即可!

(3)部分文件会缺失,从svn co下来不存在

解决办法:
添加目录下所有文件到svn中

cd /*项目地址*/
svn add . --no-ignore --force
svn commit -m "添加部分缺失文件"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jarlen John

谢谢你给我一杯咖啡的温暖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值