5

それを行う方法(これあれ)についていくつかの答えがあり、カスタムドライバーを使用することを提案していますが、これは非常にうまくいくようです。

ただし、特定のファイルがマージされたブランチで変更されていないため、git がマージ ドライバーを呼び出すことさえせず、単にファイルを上書きするという特定の状況があります。

発生を効果的に防ぐ方法はありますか?

[編集]

明確にするために、実現されたすべてのマージには、ローカル環境構成、つまりすべての開発者のローカル設定を含む Excel が含まれています。このようなファイルはめったに編集されないため、通常、マスター ブランチからプルするたびに上書きされます。

このファイルには編集された可能性のある他の詳細がいくつかあることに注意してください。自分のバージョンで更新したいので、更新することが重要です。常に競合が手動でソートされるようにして、ローカル構成を保持し、残りを更新できることを願っています (手動で行う必要がある場合でも)。

また、このファイルを分割して私の生活を楽にすることはできないことに注意してください。

4

1 に答える 1

1

git マージ ドライバーは、2 つの履歴の変更間の潜在的な競合を効率的に検出して解決するために存在します。そのスマッジ フィルタとクリーン フィルタは、公開された履歴に属さないワークツリーでのみ必要な変更を適用および削除するために存在します。あなたがやっていることは、他の誰も必要としないローカルのみの変更です。merge は、スマッジャーではなく、コンフリクト リゾルバーです。

アップストリームで他に何も変更されていない場合でも、ローカルの変更を適用するコードが既にあります。両方の入力と同じファイルをフィードすることで、それをスマッジ フィルターとして直接実行できます。

于 2013-09-10T16:42:47.637 に答える