4

GUI difftool(p4merge、kdiff3、araxisなど)を使用して、Gitマージを表示しています。これはうまく機能しますが、Gitが次のファイルに移動し、マージを完了するには、マージで各ファイルを編集した後、ツールを終了する必要があるようです。これを回避する方法はありますか?

それぞれの間でマージツールを終了せずに、マージ内のすべてのファイルを何とか繰り返すことができますか?さらに良いことに、すべてのファイルを一緒に開いて(たとえば、ファイル間を行ったり来たりして、マージ編集を調整できるようにする)、完了したらマージツールを閉じる方法はありますか?それらすべてと?

4

1 に答える 1

1

はい、マージの各ファイルの後でgitdiffツールを終了する必要があります。これは、コマンドラインユーティリティとしてのgitがdiffツールと通信する方法です。より重要な質問は、なぜこれがあなたにとって問題なのかということです。

マージの競合解決を実行しているときに別のファイルを開きたい場合は、mergetoolの別のインスタンスを実行する必要があります。を介して他のバージョンのファイルにアクセスし、--ours--theirs切り替えますgit checkoutgit checkout-index --stage=allただし、すべてのバージョンを一時ディレクトリに保存する、のようなものを使用した方がよいでしょう。

git mergetool -yの代わりに実行することで、マージの煩わしさを少し軽減できますgit mergetool

ファイルを特定の順序でマージする場合は、git statusを呼び出して解決が必要なファイルのリストを表示してからgit mergetool -y <filename>、それらの各ファイルを呼び出します。

最後になりましたが、使用できますgit gui–マージが必要なファイルを選択し、右側のパネルのコンテキストメニューからmergetoolを開始します。そうすれば、任意の順序でマージして、一度に複数のマージツールを開くことができます。

于 2013-01-29T21:13:04.197 に答える