2012-02-07 10 views
0

これはXCodeのproject.pbxprojファイルをマージすることについてであるが、同じ原理が任意のデータベーススタイルプレーンテキストファイルに適用されます(そのないバイナリファイル!)強制gitの比較

は、ブランチAであると言います我々は、ファイルfoo.mを追加したと分岐Bに我々は正しいマージ出力の両方のラインを持っているだろうbar.m

D814C04514DF6C3100D2AA5D /* foo.m */, 

D8DAC57814DF8979004E1309 /* bar.m */, 

を持っています。しかし、これら2行は(文字ごとに)非常に似ているので、Gitは同じ行であるとみなし、2行をマージしようとします。

トークンのみでのGitを一致させるために何らかの方法があった場合は、2本のラインが全く異なるだろう、とそうGitは、私は私がに置くことができるものがある願って、両方のファイル

を持っているでしょう.gitattributesこの動作を強制するファイル

また、1人のユーザーのみがプロジェクトファイルを変更するよう強制することは、実際の選択ではありません。ほとんどの作業(特にプロジェクトの開始時)には新しいクラスを作成する必要があるため、開発者が順番に作業を進めると開発時間が大幅に短縮されます。現在のところ、プロジェクトファイルを手動でマージするよりも、プロジェクトファイルを順番に変更するよりも時間がかかります。

答えて

0

両方のファイルの行が同じ場合、競合が発生します。 Gitはそれをマージしません。

+0

確かに、gitがマージを自動化するのを助ける方法がありますか? – Zeophlite

+0

あなた自身のドライバを書くことができます –

+0

どうすればいいですか? – Zeophlite