Git合并二进制文件(特别是Xcode项目文件)

Git合并二进制文件(特别是Xcode项目文件),第1张

概述我在git下有一个 Xcode项目,而且我的“master”分支有一个“实验性”分支.自分支以来,两个分支都有分歧(所以没有快进!),我正在将“实验”合并到我的“主”分支中. 我已经设置了一个.gitattributes文件来将特定的Xcode文件(project.pbxproj)视为二进制文件,因为它应该被视为二进制文件.但是,我不确定如何合并它.我不确定那个特定文件是做什么的,但是如果它处理了 我在git下有一个 Xcode项目,而且我的“master”分支有一个“实验性”分支.自分支以来,两个分支都有分歧(所以没有快进!),我正在将“实验”合并到我的“主”分支中.

我已经设置了一个.gitattributes文件来将特定的Xcode文件(project.pbxproj)视为二进制文件,因为它应该被视为二进制文件.但是,我不确定如何合并它.我不确定那个特定文件是做什么的,但是如果它处理了哪些文件被添加到项目中,我就无法合并它们,因此我必须手动将某些文件添加回项目(可能不是记得他们所有).其他人如何处理这种情况?

此外,我已经读过你必须手动更新二进制文件(显然)或复制不同的版本.但是,一旦进入合并过程,我工作副本中的文件就是“主”版本.我如何访问“实验”版本?我无法检查它,因为它会破坏合并过程.

谢谢你的时间!

解决方法 一般来说,对于二进制文件,我建议使用 copy-merge type of .gitattribute directive.
也就是说,我只是复制来自合并远程端的文件.

但是对于.pbxproj文件,这可能不是一个好的选择,如described here.

WrapPing these files would only make the problem worse as far as I can tell – as you wold be completely unable to merge changes.
While you can merge project files in some cases,it’s not something that you should
count on being able to do. The basic recommendation is to avoID editing the project files at the same time as someone else.

我喜欢版本化项目文件(如ones for Eclipse),只有我知道它们是:

>经常不修改(当然不是每个开发人员都修改)
>仅使用相对路径
>没有一个工作站的数据细节

简而言之,如果这些文件不是要合并的(或者只是很容易合并),我希望它们在VCS中.在您的情况下,首先将它们放入所述VCS中可能没那么有用.

注意:如Git manual中所述:

During the merge,the index holds three versions of each file. Each of these three “file stages” represents a different version of the file:

$git show :1:file.txt  # the file in a common ancestor of both branches$git show :2:file.txt  # the version from head.$git show :3:file.txt  # the version from MERGE_head
总结

以上是内存溢出为你收集整理的Git合并二进制文件(特别是Xcode项目文件)全部内容,希望文章能够帮你解决Git合并二进制文件(特别是Xcode项目文件)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1056345.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存