在 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/