【问题标题】:Tell git to treat pbxproj as text告诉 git 将 pbxproj 视为文本
【发布时间】:2012-10-06 05:30:40
【问题描述】:

我正在使用 Mapbox-ios-sdk 并尝试将 Github 中源代码的差异合并到我的本地 hack。

现在我试图告诉 Git 通过编写将 pbxproj 文件视为文本

*.pbxproj text -crlf -diff -merge union

到一个新文件 ./git/info/attributes

git diff MapView/MapView.xcodeproj/project.pbxproj 上,它仍然将其视为二进制:

diff --git a/MapView/MapView.xcodeproj/project.pbxproj b/MapView/MapView.xcodeproj/project.pbxproj
index d91c5b9..d8d04df 100755
Binary files a/MapView/MapView.xcodeproj/project.pbxproj and b/MapView/MapView.xcodeproj/project.pbxproj differ

我也尝试将其编写为 .gitattributes 但它仍将文件视为二进制文件。这是为什么呢?

【问题讨论】:

    标签: xcode git merge


    【解决方案1】:

    man gitattributes man page-crlf-diff 看来,似乎与将文件制作为二进制的方法有关。

    所以这应该更接近标记(有点像this config):

    *.pbxproj text -merge union
    

    【讨论】:

    • 我不确定合并是否正确。不知何故,我仍然没有将新文件合并到从远程存储库添加的项目文件中。
    • @huggie 在本地 pbxproj 和远程 @huggie 之间是否有区别清楚地显示了那些额外的文件?
    • @huggie 注意:如果有冲突,一个简单的脚本可以帮助解决它们:gist.github.com/1790379
    • 我不知道。我已经继续,只是用新的文件覆盖了我的项目文件,因为我认为我没有添加任何新文件。现在它编译得很好,但是当我运行我的项目时,项目中的图像资源没有找到并且它在运行时终止。我针对这个问题发布了另一个问题。 stackoverflow.com/questions/12913447/…
    • @huggie “只需用新的项目文件覆盖我的项目文件”:然后自定义合并指令“keepTheir”会有所帮助:stackoverflow.com/a/1910479/6309
    猜你喜欢
    • 2010-12-05
    • 2014-02-09
    • 2010-10-02
    • 1970-01-01
    • 2011-02-13
    • 2016-08-18
    • 2014-06-15
    • 2013-10-13
    • 1970-01-01
    相关资源
    最近更新 更多