XCode中的源代码控制是一场噩梦 - 任何人都可以提供建议吗?

bod*_*ous 9 git version-control ios xcode4

使用Git和Xcode(4.3)是一场真正的噩梦.

这是一个场景......

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

我添加了我的新功能,我准备提交,改组和合并......

我承诺改变 - 很好.

我跳回到掌握以进行更改(以防其他人更新了代码).我突然得到:

error: Your local changes to the following files would be overwritten by checkout:
myProject/project.xcworkspace/xcuserdata/Bodacious.xcuserdatad/UserInterfaceState.xcuserstate
Run Code Online (Sandbox Code Playgroud)

是吧?我刚刚承诺.

Xcode喜欢project.xcworkspace每隔一秒更改一次我的文件,这使得几乎不可能进行干净的原子提交.

更重要的是,如果我确实提交了更改project.xcworkspace并快速跳转到另一个分支(例如为了合并到Master),那么Xcode会抱怨文件已经改变并且可能也会崩溃.

从我收集的内容来看,我无法将这些文件添加到我的文件.gitignore中.

我是否必须接受Xcode无法实现简洁有序的git策略,在进行任何Git管理之前关闭Xcode,还是有其他选择?

Tho*_*asW 12

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

所以我有:

*.xcworkspace
Run Code Online (Sandbox Code Playgroud)

在.gitignore

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

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