ios – XCode中的源代码管理是一场噩梦 – 任何人都可以提供建议?

使用 Git与Xcode(4.3)是一个真正的噩梦.

这是一个场景…

我想添加一个功能,所以我创建一个新的主题分支.

添加了我的新功能,我准备提交,rebase和合并…

我承诺我的变化 – 好的.

我跳回主人拉动变更(万一有人更新了代码).
突然间我得到:

error: Your local changes to the following files would be overwritten by checkout:
myProject/project.xcworkspace/xcuserdata/BodacIoUs.xcuserdatad/UserInterfaceState.xcuserstate

是吧?我刚刚承诺

Xcode喜欢每隔一秒更改我的project.xcworkspace文件,这样几乎不可能做出干净的原子提交.

此外,如果我提交project.xcworkspace中的更改,并快速跳回到另一个分支(为了合并到主机中),则Xcode将抱怨文件已更改,也可能会崩溃.

从我收集,I can’t add these files to my .gitignore.

我必须接受Xcode的简洁有序的git策略是不可能的,在进行Git管理之前关闭Xcode,还是有其他选项?

解决方法

我只是添加这些文件到我的.gitignore文件.没有必要与其他开发人员分享.

所以我有

*.xcworkspace

在.gitignore中

请注意,您链接的stackoverflow问题说不排除project.pbxproj,但它并不表示不排除* .xcworkspace.

但是,我目前没有使用工作区功能.如果您使用工作区功能,则可能需要包含这些文件,但忽略xcuserdata文件.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...