1.冲突解决
当两个人同时修改同一个地方的代码时,当然有时候可能是无意,例如随便敲几个空格,但是这种动作已经被SVN记录,大部分冲突都是这样产生的。
解决:由上图可知,<<<< .mine 和 =====之间为自己做的修改,而 ===== >>>>>.r6718为同事的修改,判断哪断代码是真正需要的代码,如果自己的是真正需要的代码,就讲同事的删除,同事把标识冲突的特殊符号去掉,别忘了还有最后一步,
右键单击冲突的红色小C图标-->Resolve Conflict 。OK冲突就解决了
2.文件提交
(1)有时候会发现 静态库.a文件提交不上去,需要进行一个过滤的设置以Cornerstone为例,进入偏好设置(preference)-->subVersion 在global ignores中将.a文件的标识去掉,保存退出就可以了。
(2)新创建文件或者移动了逻辑文件夹结构中的文件的位置的时候,在project.pbxproj(用来记录工程的目录结构的文件,这个文件很重要)这个文件中都会有记录,如果你提交了新创建的文件但是没有提交这个文件,会导致你的同事更新不到你新添加的类,虽然你的提交是成功的,他在SVN中也能看到新的文件,但是他自己却无法更新到自己的工程中,就是这个工程目录的文件没有提交上去导致的,要注意这一点。
(3)如下图中的xcuserdata和.xcworkspace这两个文件一般是不需要提交的
3.文件删除
如果哪个文件没有用了,想要删除,删除的步骤1.将本地(xcode中)文件删除,这时候SVN会有标识显示文件异常,如果是显示:!(叹号)表示文件丢失,点击右键delete,然后提交,即--将你本地的删除通知给了SVN服务器,这样SVN服务器中就也进行删除了,别人更新后,就业没有了那个文件
注意:只要是增,删,移动了文件,Commit的时候一定要记得提交那个目录结构文件project.pbxproj,否则别人会更新不到你的改动,这个很重要
4.项目托管SVN后每次的操作svn都会记下来,但是你在文件夹看不见(这个很坑爹),时间久了出现项目文件夹大小远远大于实际代码文件夹大小
解决办法:cd到文件夹——>
//删除文件夹下的所有 .svn 文件
find . -name ".svn" | xargs rm -Rf
//删除文件夹下的所有 .git 文件
find . -name ".git" | xargs rm -Rf
5.杂项
1.新项目需要上传一份到svn,用import.
2.然后每个开发人员checkout一份到本地,在自己的地盘改东西。
3.记得每次提交前,先update.
4.如图所示的小锤子标记的文件一定要提交,这个是记录的文件的目录结构。不要忘记。