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

标签 ios git version-control xcode4

在 Xcode (4.3) 中使用 Git 是一场真正的噩梦。

这是一个场景...

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

我添加了我的新功能,我准备好提交、 rebase 和 merge ...

我提交更改 - 很好。

我跳回 master 以 pull 更改(以防其他人更新了代码)。 突然我得到:

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

嗯?我刚刚 promise 。

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

此外,如果我在 project.xcworkspace 中提交更改并快速跳回另一个分支(例如为了 merge 到 Master),那么 Xcode 会提示文件已更改并且可能也会崩溃。

据我所知,I can't add these files to my .gitignore要么。

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

最佳答案

我只是将这些文件添加到我的 .gitignore 文件中。无需与其他开发人员共享它们。

所以我有:

*.xcworkspace

在 .gitignore 中

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

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

关于ios - XCode 中的源代码控制是一场噩梦——任何人都可以提供建议吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9615227/

相关文章:

javascript - 防止 body 在移动设备上滚动

git - 从 merge 分支中删除提交

git - 如何从提交消息中获取提交哈希 (ID)

version-control - 自创的 NuGet 包应该放在版本控制中吗?

svn - 最好的 Mac OSX 和 Windows Git 客户端、服务器和差异工具?

ios - 在 iOS 中的 TabBar Controller 上滑动 viewController

objective-c - 自定义 NSURLProtocol 应该遵循重定向本身,还是让其客户担心?

ios - 选择带有数字的特定 UIButton

git - 存储使用 --intent-to-add 添加的文件

svn - 在执行 git-svn dcommit 之前压缩或编辑一些提交?