4
  1. GIT p4merge - 同じファイルに 2 つ以上の競合があります

p4merge を GIT と統合しましたが、この状況に一度遭遇しました。

マージの競合があるファイルがあります。ファイル foo.c には、3 つの異なるコード行 (最初の行に競合があり、途中のいくつかの行に競合があります) でマージの競合があります。

競合の最初の行 (競合の他の行ではなく) を解決して保存すると (p4merge の [保存] ボタンを使用して)、インデックスに foo.c が追加され、コミットすると、git によってエラーが発生せずにコミットできるようになります。または、同じファイル内の競合する他の行を解決するための警告。

これは GIT または p4merge の問題ですか? ファイルに競合する他の行があることをGITが警告またはエラーにする必要があると思います。しかし、それはコミットするだけです。


  1. GIT で特定のファイルをマージする

私が持っている他の質問は、特定のファイルをマージするために開発者を送ることができるコマンドはありますか? git mergetool を実行すると、すべてのマージ競合が 1 つずつ開かれますが、代わりに、この選択したファイルをマージできる clearcase のような方法はありますか?

4

1 に答える 1

4
  1. 私の推測: ファイルを p4merge に保存すると、コード 0 が返され、ファイルが変更され、git は競合が解決されたと見なします。false に設定できるconfig パラメータmergetool.<tool>.trustExitCode(mergetool.p4merge.trustExitCodeあなたの場合) があるため、git は実行後にマージが成功したかどうかを常に尋ねますgit mergetool(これは非常に煩わしい場合があります)。p4mergeまた、実行後に競合マーカーの存在をチェックするラッパーp4megepre-commit、そのようなマーカーを含むファイルを含むコミットを拒否するフックを作成できるかもしれませんが、私はそのようなことをしたことはありません。

  2. はい、git mergetool <file>指定したファイルを解決するために実行できます。詳細はこちら.

于 2010-11-01T10:26:56.617 に答える