首页 > 解决方案 > 版本控制中的 Xcode 项目文件

问题描述

试图拉最新我收到以下消息:

Igors-MacBook-Air:dbhandler igorkorot$ git pull
warning: redirecting to https://github.com/oneeyeman1/dbhandler.git/
warning: Cannot merge binary files: dbhandler.xcodeproj/project.xcworkspace/xcuserdata/igorkorot.xcuserdatad/UserInterfaceState.xcuserstate (HEAD vs. 99e3237b1e5ece37e624a4ca1c78d739c97e79df)
Auto-merging dbhandler.xcodeproj/project.xcworkspace/xcuserdata/igorkorot.xcuserdatad/UserInterfaceState.xcuserstate
CONFLICT (content): Merge conflict in dbhandler.xcodeproj/project.xcworkspace/xcuserdata/igorkorot.xcuserdatad/UserInterfaceState.xcuserstate
Automatic merge failed; fix conflicts and then commit the result.

这个文件需要在VC中吗?我最初的想法是将所有内容都放在 VC 中,但结果 Xcode 项目文件也包含二进制文件。而且我不太熟悉 Xcode 内部结构。

标签: xcodegit

解决方案


检查将二进制合并添加到xcuserstate文件是否有帮助:

echo '*.xcuserstate  binary merge' >> .gitattributes
  • binary将保留隐含的-text(删除 crlf)和-diff(无差异),
  • merge允许文件被合并。

有关文档,请参阅“使用宏属性”,有关实际示例,请参阅“gitattributesbinary选项”。

但是,更一般地说,此类文件不需要在源代码管理中(如此处所述)。
你可以在这里看到它们代表什么
您可以删除它们并忽略它们(最好git rm使用 --cached 选项)。


推荐阅读