0
meld
+ git
には、2 gitコミットの間に発生した変更は表示されますが、ユースケースは、現在のコミットが3ウェイマージの前に行われたコミットとどのくらい異なるかを確認することです。3つ目のコミットに含まれている以外の2 gitコミットの差
meld
+ git
には、2 gitコミットの間に発生した変更は表示されますが、ユースケースは、現在のコミットが3ウェイマージの前に行われたコミットとどのくらい異なるかを確認することです。3つ目のコミットに含まれている以外の2 gitコミットの差
私はそれを行うためのハッキーな方法があります。
警告:以下のシングルライナーを使用する前に、すべてのコミットされていない変更をコミット/バックアップしてください。この単一のライナーは、変更を隠して復元しようとします。しかし、それはまだ以下のコードは、MERGE_COMMIT
に別のブランチで紹介他のファイルへの変更を除くFIRST_COMMIT
とSECOND_COMMIT
間の差分を示し
をレポでいくつかの混乱(新しいファイル)を導入することができるか、いくつかのバグが含まれていてもよいです。 env変数FIRST_COMMIT
,SECOND_COMMIT
、およびMERGE_COMMIT
を適切な値に設定する必要があります。
FIRST_COMMIT=866dfa2a7
MERGE_COMMIT=94b195989
SECOND_COMMIT=0fc856fd9
git stash ; \
git checkout $FIRST_COMMIT ; \
git ls $MERGE_COMMIT..$SECOND_COMMIT | sort | \
uniq | \
xargs -L 1 git checkout $SECOND_COMMIT -- ; \
git difftool -d $FIRST_COMMIT ; \
git stash && git stash drop ; \
git stash apply
:
FIRST_COMMIT
stash
MERGE_COMMIT
とSECOND_COMMIT
に変更し、すべてのリビジョン取りそれらの間FIRST_COMMIT
とSECOND_COMMIT
の間になりますが、MERGE_COMMIT
の別のブランチによって導入された他のファイルへの変更は除きます。前の文は、ファイルがSECOND_COMMIT
とMERGE_COMMIT
の両方で変更された場合、すべての変更がdiffで表示されることを意味します。それを避けるのは難しいです。ご希望のgitのワークフローに応じて、
上の単一ライナーからのgitのstash呼び出しを削除するように決定することができます