git difftool HEAD~3.. path/to/file
各コミットを並べて表示できるように、これら 3 つのコミットごとに difftoolを実行して git で開きたいと思います。
git-difftool でそれを行うにはどうすればよいですか?
または、実行することもできますgit log -p
-それはあなたが望むのとほとんど同じことをします
これにより、あなたが説明したことが達成されます:
git difftool HEAD~3 HEAD~2 path/to/file
git difftool HEAD~2 HEAD~1 path/to/file
git difftool HEAD~1 HEAD path/to/file
このプロセスを自動化したいですか? それは常に3つのコミットですか?3 方向マージを行いますか?
アップデート:
答えが「はい」「はい」「いいえ」の場合、解決策は次のようになります。
for i in {3..1}; do
git difftool HEAD~$i HEAD~$((i-1)) path/to/file
done
アップデート:
答えが「はい」「いいえ」「はい」の場合、それは基本的に @ruffin がここで尋ねていることです。そこで私の答えを見てください。
for i in 1 2 3
do
((j=${i}-1))
git difftool HEAD~${i}..HEAD~${j} path/to/file &
done
少し異なるアプローチ:
1) インタラクティブなリベースを実行する
git rebase -i <commitish>
2) すべてのコミットを編集用にマークします
3) コミットの実行ごとに
git difftool HEAD~1
4) 次のコミットに移動し、手順 3 を繰り返します
git rebase --continue
追加の利点は、レビューで問題が見つかった場合、修正したいコミットを既にチェックアウトしていることです。