2011-03-15 72 views
3

我有问题! 我们正在研究iPhone应用程序并使用git。问题是,如果有人改变了项目中的某些东西(添加了一个文件等等),并且我尝试去修改,我必须将它合并。但合并不是无痛苦的,我最终得到一个腐败的项目文件,不得不花费相当多的时间来解决这个问题。Xcode 4,混帐和合并项目文件!

有没有人有解决这个问题的办法?

(对不起,我的蹩脚英语)

+0

您是在Xcode中还是从命令行中拉/推? – 2011-03-15 02:17:15

+0

恒星帖子在这里很多git问题:http://stackoverflow.com/questions/315911/git-for-beginners-the-definitive-practical-guide – Scott 2011-03-15 02:17:15

回答

4

项目文件臭名昭着的冲突。我将启用rerere(代表“Reuse Recorded Resolution”),这样如果您必须重做冲突解决方案,至少可以让您的决定从上次执行时缓存起来。关于rerere的优秀文章位于:http://progit.org/2010/03/08/rerere.html

如果您有这种倾向,最好看的是编写自定义合并驱动程序的高级主题。请参阅“定义自定义合并驱动程序”http://git-scm.com/docs/gitattributes

希望这有助于。

1

三个重要步骤:

  • 原因混帐忽略在项目文件中的一切除了.xcodeproj文件夹下的project.pbxproj - 使用的.gitignore这一点。
  • 在您更改.pbxproj之前关闭您的项目。您面临的最大问题之一是,如果您在Xcode打开项目文件的情况下获得新版本,则可以将其“当前”版本保存在您想要更改的版本上。
  • 合并有时会导致类似“>>>> YOURS”或“>>>> THEIRS”的虚假数据被包含在项目文件中。如果您必须合并,请使用filemerge这样的工具手动执行此操作,您可以在其中检查每个更改并选择是否包含它。

如果这一切失败,你会得到一个损坏的项目文件反正

  • 接受版本别人提交和恢复自己的变化,它几乎总是比较容易和链接错误会提醒你很快。
  • 了解频繁落实的价值。
+0

合并标记不会自动合并提交。 – 2011-03-15 02:58:04

+0

单词“自动”已删除 – 2011-03-15 03:02:17