make git diff выводит только измененные имена функций

Я заметил, что когда я делаю git diff, он отображает измененное имя функции...

Есть ли способ сделать так, чтобы он ТОЛЬКО перечислял имена функций, которые были изменены, а не другое содержимое diff?

Т.е. Я ищу что-то похожее на параметр --name-only, за исключением того, что я хочу, чтобы это были имена измененных функций, а не измененные файлы.


person pillarOfLight    schedule 03.12.2013    source источник
comment
git diff будет отображать имя функции только в том случае, если начало имени функции находится в окружающем контексте измененной строки. Сам git не отслеживает такую ​​(зависящую от языка) информацию.   -  person chepner    schedule 03.12.2013
comment
Вы можете использовать git diff --function-context для начала   -  person glenn jackman    schedule 03.12.2013
comment
Попробуйте git diff | grep -E '^(@@)' | grep "(" | sed 's/@@.*@@//' | sed 's/(.*//' | awk -F " " '{print $NF}' | uniq?... Как это работает? Подробности в этом ответе.   -  person TheCodeArtist    schedule 11.09.2016
comment
Используйте git diff -W и grep -E -A1   -  person K.Sopheak    schedule 10.05.2019