Если я наберу git log <commit-id> --stat
или git diff
с --stat
, я получу что-то вроде:
myproj/src/__main__.py | 1 +
myproj/{ => src}/utils.py | 0
myproj/{ => src}/web.py | 31 ++++-
3 files changed, 29 insertions(+), 3 deletions(-)
Число рядом с каждым файлом: number_of_inserts + number_of_deletes
. Это не то, что я хочу. Я хочу знать количество строк, добавленных и удаленных для каждого файла (например, +28 -3
вместо 31
).
- Я знаю, что мог бы использовать
--numstat
вместо --stat
, но --numstat
не будет производить гистограмму. Я также знаю, что могу использовать diffstat
. Например, git diff <commit-id> | diffstat -f4 -C
:
myproj/src/__main__.py | 1 1 0 +
myproj/src/web.py | 31 28 3 ++++-
2 files changed, 29 insertions(+), 3 deletions(-)
Но здесь я теряю информацию о перемещениях / переименованиях файлов (например, myproj/{ => src}/web.py
).
Так как я могу получить вывод похож на --stat
, но с информацией о количестве добавленных строк и количестве удаленных строк для каждого файла?