私は自分のコードでテストを実行するとき、常にgit(stash createを使用)のコードのスナップショットを取ってテストにコミットIDを付けますガーベジコレクションされないようにするためにreflogに書いてください)。この方法で、私は後で、そのテスト出力にどのようなコードがつながっているかを簡単に確認することができます。2つの異なる親コミットを持つ2つのコミット間の差異
しかし、しばしば、その古いコードと現在のバージョンのコードを比較したいと思います。問題は、現在のバージョンのコードがmasterブランチにリベースされているためです。git diffは何百ものコミットを組み合わせて表示します。私が現在行っているのは、2つのgitショーの後に通常の(非gitの)diffがあるのですが、この行番号が異なるすべての行でこの行番号が異なるとみなされるという大きな欠点があります。
2番目のコミットがリベースされたときに2つのコミット間でdiffを実行する簡単な方法はありますか?だから、基本的には、最初のコミットを内部的にリベースし、diffを表示して、そのコミットの内部リベースバージョンを取り除くのと同じようなものを探しています。もちろん、リベースが失敗した場合もそうですが、ほとんどの場合、リベースは単に私のために働くので、これはまだほとんどの場合役に立ちます。
私はこれを自分で書くことができると思いますが、よくある問題のように思われるので、このようなものが既に存在するのでしょうか?
いいえ、あなたが望むものが表示されません(2つではなく、3つの点に気づくでしょう) – janos
いいえ、古いものの親コミット以降の現在のブランチのすべての変更を表示します(私の場合、現在の祖先です)。それで、何百ものコミットも表示されます。実際には2つの点とは異なりますが、私の状況では 'git diff old^.. current'と同じですが、これも私が望むものではありません。 – FrederikVds
https://stackoverflow.com/a/28114114/2303202 – max630