Допустим, вы смотрите такой дифф, в котором много изменений, но по факту логика не поменялась:

Снимок экрана 2025-04-14 в 3.54.35 AM.png

А можно срендерить такой дифф, и он уже понятней:

Снимок экрана 2025-04-14 в 3.55.03 AM.png

Сделать так можно утилитой difftastic:

Difftastic, a structural diff tool that understands syntax

Установить:

brew install difftastic

Подключить к гиту так:

git config --global diff.external difft
git config --global diff.tool difftastic
git config --global difftool.difftastic.cmd 'difft "$MERGED" "$LOCAL" "abcdef1" "100644" "$REMOTE" "abcdef2" "100644"'
git config --global difftool.prompt false
git config --global pager.difftool true

Использовать следующим образом. Допустим, хочется ветку B замержить в ветку А (например, А — это master), причем ветка A может тоже уехать вперед по истории. Срендерить дифф между B и A можно так:

git diff A...B

Синтаксис команды git diff:

https://stackoverflow.com/a/24186641/1600438