Я, мабуть, про те, де був ОП, коли це починалося, шукаючи щось просте, яке дозволило б мені використовувати git difftool з vimdiff для перегляду змін у файлах мого репо, починаючи з конкретної комісії. Я був не дуже задоволений відповідями я знаходять, так що я кинув цей мерзотник вкл remental представника orter (gitincrep) сценарій разом , і це було корисно для мене:
#!/usr/bin/env bash
STARTWITH="${1:-}"
shift 1
DFILES=( "$@" )
RunDiff()
{
GIT1=$1
GIT2=$2
shift 2
if [ "$(git diff $GIT1 $GIT2 "$@")" ]
then
git log ${GIT1}..${GIT2}
git difftool --tool=vimdiff $GIT1 $GIT2 "$@"
fi
}
OLDVERS=""
RUNDIFF=""
for NEWVERS in $(git log --format=format:%h --reverse)
do
if [ "$RUNDIFF" ]
then
RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
elif [ "$OLDVERS" ]
then
if [ "$NEWVERS" = "${STARTWITH:=${NEWVERS}}" ]
then
RUNDIFF=true
RunDiff $OLDVERS $NEWVERS "${DFILES[@]}"
fi
fi
OLDVERS=$NEWVERS
done
Викликається без аргументів, це почнеться з початку історії репо, в іншому випадку воно почнеться з будь-якого скороченого хеша фіксації, який ви надаєте, і перейде до теперішнього часу - ви можете ctrl-C вийти в будь-який час для виходу. Будь-які аргументи після першого обмежуватимуть звіти про різницю, включаючи лише ті файли, що перелічені серед цих аргументів (що, на мою думку, те, що хотіла ОП, і я рекомендую для всіх, крім крихітних проектів). Якщо ви перевіряєте зміни певних файлів і хочете розпочати з початку, вам потрібно буде вказати порожній рядок для arg1. Якщо ви не користувач vim, ви можете замінити vimdiff улюбленим інструментом diff.
Поведінка полягає у виведенні коментарів до фіксації, коли знайдені відповідні зміни та починає пропонувати vimdiff запуски для кожного зміненого файлу (це git difftool поведінка , але воно працює тут).
Такий підхід, мабуть, досить наївний, але, переглядаючи безліч рішень тут і на пов'язаній посаді, багато хто брав участь у встановленні нових інструментів у системі, де я не маю доступу адміністратора, з інтерфейсами, які мали власну криву навчання. Вищеописаний сценарій робив те, що я хотів, не маючи справу ні з чим. Я перегляну тут безліч чудових пропозицій, коли мені потрібно щось більш витончене - але я думаю, що це безпосередньо відповідає ОП.