1. ホーム
  2. ギット

[解決済み] マージコミットで、変更されたすべてのファイルが親のいずれかと一致する場合でも、差分出力を組み合わせて "git show" するにはどうすればよいですか?

2022-04-12 23:39:56

質問

シンプルマージ(コンフリクトのないマージ)を行った後。 git show 通常、次のようなものしか表示されません。

commit 0e1329e551a5700614a2a34d8101e92fd9f2cad6 (HEAD, master)
Merge: fc17405 ee2de56
Author: Tilman Vogel <email@email>
Date:   Tue Feb 22 00:27:17 2011 +0100

Merge branch 'testing' into master

というのも、マージの場合。 git show は、どちらかの親バージョンと一致するファイルを除外する 結合された diff 形式を使用します。

combined diff モードでもすべての差分を表示するように git を強制する方法はありますか?

行うこと git show -m は差分を表示しますが(新しいバージョンとすべての親バージョンのそれぞれペアでの差分を使用)、私は複合モードのようにそれぞれの列に+/-で差分をマークしたものが望ましいと思います。

どのように解決するのですか?

で行う方法はありません。 git show . しかし、それは確かに素晴らしいことで、おそらく git のソースコードに実装するのは比較的簡単でしょう (結局のところ、あなたはただそれを ではなく そのため、そのためのパッチはおそらく git のメンテナに受け入れられていることでしょう。

ただし、希望する内容には注意が必要です。3ヶ月前にフォークされた1行の変更を加えたブランチをマージしても 巨大 diffはメインラインとの差分であり、そのような完全なdiffはほとんど役に立ちません。 だから、gitはそれを表示しないのです。