使用
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文件.