svn需要忽略的文件

在iOS多人协同开发时,一般会使用版本管理工具,比如SVN/Git。经常的,在提交修改的时候,除了我们自己主动修改的.h、.m和资源文件之外,还会出现一些莫名其妙的文件,在.xcodeproj里面,
.xcodeproj是项目文件,包含项目配置文件,这是很多人都知道的。然而,.xcodeproj里面的各个文件都有什么用呢?提交版本时,要不要提交这些文件/目录?下面总结一下。
一个xcodeproj文件,其实是一个目录,它的格式大体上是这样的:

这里写图片描述

有的文件,比如user.mode1v3,在没有多个用户操作项目的时候,是没有的。Apple并没有提供.xcodeproj文件的文档,而且它也没有准备提供,更坑爹的是,xcodeproj的格式、内容都是随时可变的,比如一个Xcode版本上来,可能其目录就会变化,而没有任何通知。这可苦了那些为.xcodeproj开发每三方库的同学,不仅要一点一点摸索各个文件的内容,修改方法,还要忍受Apple没有任何通知地修改格式。Stackoverflow中这位就在抱怨苹果开发人员的傲慢:http://stackoverflow.com/questions/49478/git-ignore-file-for-xcode-projects/12021580#12021580 闲话少说,下面进入正题:各个文件/目录的作用,以及要不要提交更新。
project.pbxproj文件这个文件包含了所有此项目build需要的元数据,setting、file reference、configuration、targets…也就是说,这个文件代表的就是这个project。因此,在修改了这个文件之后,需要提交上去。

project.xcworkspace目录这个文件比较特殊。首先要了解的是workspace和project的概念。project应该比较清楚,那workspace是什么呢?workspace是一种Xcode documentation,可以将多个project和其它文件放到一起,这样可以work on them together。一个project也可以属于多个workspace。所以简单来讲,workspace里面就是一个或多个projects的reference,放在一起,有时候比较好工作。这样的话,如果项目里面根本就没有workspace的概念,或者只有一个workspace+一个project,这个workspace并不会有什么变动,那这个文件就不需要提交同步。如果project很依赖workspace,没有workspace就运行不了,活不下去了,这时候这个文件肯定是要同步的。

user.pbxuser文件Xcode项目为每一个使用这个项目的用户创建一个user.pbxuser文件,存储了此用户对项目的偏好设置,如Xcode的位置和大小、文件书签等。可以看到这个文件是针对某个用户的,可以说是私人性质的,跟整个项目没有太大关系,所以一般不需要同步。

user.mode1v3和user.mode2v3文件这个也是用户相关的文件,和user.pbxuser差不多,存储某用户特定的项目设置,比如Xcode中window的状态和结构,断点等等。因此也不需要同步。

xcuserdata目录/xcshareddata目录:大体上来说,和上面两种一样,也是用户相关的文件,包含user state,folders的状态,最后打开的文件等。因此一般来说是不需要同步的。例外是,这个目录里也包含了scheme相关的内容。如果项目里需要同步特定的scheme,这时候,需要在Edit Scheme里,勾选Share框,然后把新生成的xcshareddata目录提交上去。

.xccheckout我没有碰到过这个文件。 这个文件在xcworkspace目录里。.xccheckout文件包含了关于workspace中用到了什么repo的数据。根据说明,它的规则和xcworkspace差不多:如果没用过,或者只是简单使用workspace,不需要同步;如果深入使用workspace,则需要同步。

总结1:.xcodeproj里的文件大体上有3种:
项目文件
单个用户的文件
跟workspace相关的文件

项目文件,需要同步;单个用户的文件,不需要同步;跟workspace相关的文件,视有没有深入使用workspace而定。
总结2:
需要同步的文件:
project.pbxproj文件
xcsharedata目录

不需要同步的文件
user.pbxuser文件
user.mode1v3/user.mode2v3文件
xcuserdata目录

视workspace情况而定的文件:
.xcworkspace目录
.xccheckout文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容