Это должно дать разницу для измененных файлов между двумя ревизиями HEAD~1
и HEAD
git diff --unified=0 --diff-filter=M HEAD~1 HEAD
Используя утилиту grep
, измененные строки и индекс можно удалить из вывода
git diff --unified=0 --diff-filter=M HEAD~1 HEAD | grep -v -e '^[+-]' -e '^index'
Вывод:
diff --git a/some/file b/some/file
@@ -startline1,count1 +startline2,count2 @@
...
При дальнейшей обработке с использованием утилиты sed
последняя команда:
git diff --unified=0 --diff-filter=M HEAD~1 HEAD | \
grep -v -e '^[+-]' -e '^index' | \
sed 's/diff --git a.* b\//\//g; s/.*@@\(.*\)@@.*/\1/g; s/^ -//g; s/,[0-9]*//g; s/\(^[0-9]*\) +/\1-/g;'
и вывод должен выглядеть следующим образом
/some/file1
startline1-startline2
/some/file2
startline3-startline4
...