这个问题困扰我好久,一直觉得删除受svn管理的文件就是一个梦魇。
今天同学遇到一个文件重复定义的问题,导致整个工程无法编译,解决的办法是删除之前重复定义的文件,使用自己的命名规则来命名一个新的文件。
那么问题来了!怎么来删除一个已经收svn管理的源文件呢,而且还是在XCode中?
0、写在前面
在我之前的项目中就有很多这种遗留问题,如,之前使用一套UI界面,添加进去之后,过几天,又换了;导入的一个第三方库,使用几天之后,发现严重的内存泄露问题,不得已只能更换新的第三方库。最终导致整个项目中存放了好多的“垃圾文件”,这些垃圾文件怎么处理呢?
1、删除?是的!
如果是一些垃圾文件,你可以不去理会,但是,别人会埋怨你的(想一下,如果是办理交接,那人得哭啊)。但是,对于需要修改名字的必须删除,然后新建。
2、怎么删除?继续看
由于XCode的特殊性,你的源文件,不仅被svn管理,还会被Xcode的一个文件所管理,这个文件就是project.pbxproj,对他既爱又恨,爱他,是因为,他省掉了程序员开发过程中的麻烦(个人觉得,之所以,你能创建一个文件,就能随时随地引用它,就是他的功劳),但是,在协作开发的过程中,它给程序员带来的痛苦也是不小的,我们知道在版本控制软件使用的过程中,一个大忌就是多人对同一个文件做处理。没错,你对XCode工程中的每一次新增文件、删除文件(引用/移到废纸篓)、修改文件,都会间接的对project.pbxproj做出改动(主要是增加和删除一些记录,这些记录就是XCode管理文件所使用的)。
那么问题又来了,如果在一次update之后,两个人都是最新的版本,其中的一个人,新增了一个文件,而你删除了一个文件,恭喜你,你们两个的这次提交就会冲突了,先不去想怎么解决这个冲突,先来看一下冲突的原因。首先,新增文件的一人,提交了svn,他没有什么问题,因为在这之前,没有对project.pbxproj做出改动,svn会比较,新增了一些记录,它的处理就是,把这些新增的条目添加上就好了。但是轮到你,悲催了,你需要更新服务器上最新的代码(当然第一个人也需要update,但是,在update的过程中,没有发现差异),一个是你svn给你改的,另一个是你自己的改的,这个文件必然冲突。怎么解决这个问题呢?我跟人觉得方案是这样的。如果一人需要更改文件的目录结构,一定先确保其他人没有改动过,然后,你再做增删操作,接着提交,把新增或删除操作,同步到svn上,并且尽快告知所有人,更新一下svn,以免影响别人的操作,或者造成,同时操作。
说了这么多,还是没有提到怎么删,莫着急,你想要的来了。
3、哪些步骤?就三步!
没错,就三步!
  • 使用svn的客户端或者terminal终端,使用svn的删除命令,把你需要删除的文件删除掉。
  • 如果第一步能正确的操作,那么你会在XCode的文件导航栏上看到,你删除的文件变红了,如果是,请继续,这步更简单,直接右键删除那些变红的文件。
  • 如果上面的你都做好了,那么很简单,提交的代码,到svn吧,但是,一定要写好log奥
问题主要是在第一步,怎么使用svn的删除命令,相关的网上介绍有很多,可以自行查阅,为了您的方便,就删除命令描述如下:
#svn del file_path // 其中file_path就是你要删除的文件的路径,这里可以使用相对路径的
如,在test文件夹下有一个源文件foo.swift,其相对目录机构是这样的test/foo.swift
使用terminal终端,cd到test目录先,只需要执行
#svn del foo.swift 
就可以,是不是很简单!
如果你使用的是svn的图形化界面工具,也是很简单的,下面演示一下使用Cornerstone删除一个文件Note.swift
在上面的界面中选中最后一项”Delete”,就OK啦!
别忘了,最后需要提交svn服务器奥!

使用svn删除Xcode工程中的文件相关推荐

  1. ios之Xcode工程中添加文件常用快捷键

    1.Xcode某个工程中添加文件 有两种方式: 方式一:"command"+"n",弹出添加文件对话框. 方式二:在需要添加文件的工程目录下右键,选择" ...

  2. vs工程中哪些文件可以删除

    VS使用中,在压缩源代码的时候,会发现工程目录几百M,里面有很多的垃圾文件,可以自己写bat. del *.ncb /f /s del *.plg /f /s del *.pch /f /s del ...

  3. vs工程中 哪些文件可以删除

    vs工程中 哪些文件可以删除 .sdf 文件 .suo 文件 .vc.db 文件 未完待续 .sdf 文件 1 产生 visual studio 2013 中新建一个项目会同时建立一个sdf文件 2 ...

  4. 使用脚本删除ios工程中未使用图片

    使用脚本删除ios工程中未使用图片 最近在读唐巧大神的<iOS开发进阶>,学到了一个大招:使用脚本删除ios中未使用的图片(纸书上有点小问题,参考github上的issue:使用脚本删除i ...

  5. Xcode工程,蓝色文件夹、黄色文件夹以及 .bundle文件的区别

    Xcode工程,蓝色文件夹.黄色文件夹以及 .bundle文件的区别 用过 Xcode 做过开发的应该都知道,在左边的目录索引中,有蓝色的文件夹,黄色的文件夹,还有 .bundle 文件.那么它们都有 ...

  6. java从指定文件中删除字符串,java删除指定目录中的文件或文件夹

    java删除指定目录中的文件或文件夹 package tf; import java.io.File; public class DelFile { public static void main(S ...

  7. Eclipse中与CVS相连的工程中的文件,不显示版本信息时,如何处理(重启Eclipse)!

    前言: 前一段时间做リリース工作,在这之前,要把代码先登录 down了许多工程下来,但是突然发现工程中的文件不显示版本信息了~ 问同事说,原因是Eclipse内存不够了,重启就好了,于是重启一下就好了 ...

  8. 如何在Windows中的命令提示符下删除特定目录中的文件/子文件夹

    本文翻译自:How to delete files/subfolders in a specific directory at the command prompt in Windows Say, t ...

  9. Unity打包iOS自动拷贝1024图标到xcode工程中(上架AppStore需要设置1024*1024图标)

    前言 我们如果需要打iOS上架AppStore,则需要拷贝一张1024*1024的高清图标(不含alpha通道)到XCode工程中(目录:Unity-iPhone/Images.xcassets/Ap ...

最新文章

  1. Yann Lecun纽约大学《深度学习》2020课程笔记中文版,干货满满!
  2. x的平方加y平加xy的java语言_JAVA语言及网络编程-中国大学mooc-题库零氪
  3. 解决Xshell 连不上ubuntu系统
  4. Axure中的原型如何导出成为HTML5源码
  5. Unity: .NET下的依赖注入容器
  6. Gartner:大数据和BI商业智能的差别和影响
  7. python rpc微服务框架_grpc的微服务探索实践
  8. 用python写linux中的ls,Python实现Linux环境下的ls命令
  9. 汇编中调用函数(类比c
  10. jsp工程防止外部注入_防止 jsp被sql注入的五种方法
  11. 开发工具IDEA的使用
  12. 【EMNLP2020】超越MLM,微软打造全新预训练任务
  13. 一级建造师-通信-知识点口诀整理
  14. 产品经理——产品方法论
  15. BigWorld—chunck系统
  16. AWS 赞助 Rust 中文社区创业者
  17. 爱普生Epson Stylus Photo T60 打印机驱动
  18. CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态...
  19. oracle数据库中求某行的上一条记录和下一条记录
  20. 2022最新Emlog新版导航源码 带用户中心

热门文章

  1. 市场调研—全球与中国牲畜饲料粉碎机市场现状及未来发展趋势
  2. 在哪找中国风水墨滴落泼洒视频转场—56组让人惊叹的视频特效
  3. JavaScript异步函数Promise①——Promise筑基
  4. pta 地下迷宫探索
  5. 无符号数转化为有符号数
  6. CAD如何渲染图形?
  7. 新大陆物联网竞赛-Android开发-导入JAR包与添加依赖
  8. 【开源专访】Sea.js创始人玉伯的前端开发之路
  9. 递归函数内部的原理????不要跟我讲自己调用自己这样的话,我一分也不给你的zz
  10. 2022年合成氨工艺理论题库模拟考试平台操作