Git diff в резюме?

С git pull он показывает сводку diff как это:

Updating 6a78751..811f788
Fast-forward
 app/Http/Controllers/SaleController.php    |   7 +-
 .../views/pages/sale/create.blade.php      | 137 +++++++++++++---
 resources/views/pages/sale/index.blade.php |   4 +-
 resources/views/pages/sale/show.blade.php  |   5 +-
 4 files changed, 123 insertions(+), 30 deletions(-)

Есть ли способ использовать команды типа git diff для получения аналогичного вывода?

Ответ 1

git log --stat отобразит количество изменений каждого файла.

git whatchanged дает некоторые подробности в файлах, которые были изменены.

git diff --stat <sha1> <sha2> дает файлы и количество изменений между двумя коммитами.

Ответ 2

git diff действительно является той командой, которую вы ищете. В частности, вы хотите

git diff --stat

Другие подобные отчеты доступны с помощью

git diff --numstat
git diff --shortstat
git diff --dirstat
git diff --name-status

Ответ 3

Есть ли способ использовать команды типа git diff для получения аналогичного вывода?

С git 2.17 (Q2 2018) на самом деле есть результат с чуть более полным, чем git diff -stat:

"git diff", и друзья узнали "--compact-summary", который показывает информация, обычно предоставляемая с опцией "--summary" на том же как выход diffstat параметра "--stat" (который сохраняет вертикальное пространство и сохраняет информацию по одному пути в одном и том же месте).

См. commit ddf88fa (24 февраля 2018 г.) и commit c905cbc (01 февраля 2018 г.) Nguyễn Thái Ngọc Duy (pclouds).
(слияние Junio ​​C Hamano - gitster - в commit 868f7d2, 14 марта 2018 года)

diff: добавить --compact-summary

Некоторая информация в настоящее время отображается с помощью --summary, но при использовании в сочетании с --stat его немного трудно читать, так как информация о тот же файл находится в двух местах (-stat и -summary).

Кроме того, фиксирует, что добавление или удаление файлов удваивает количество отображать строки, которые могут быть много, если вы добавите или удалите много файлы.

--compact-summary вставляет большую часть --summary обратно в --stat в небольшое пространство между частью имени файла и линией графика, например. с commit 0433d53:

Documentation/merge-config.txt         |  4 +
builtin/merge.c                        |  2 +
...-pull-verify-signatures.sh (new +x) | 81 ++++++++++++++
t/t7612-merge-verify-signatures.sh     | 45 ++++++++
4 files changed, 132 insertions(+)

Он помогает как уплотнять информацию, так и сохранять некоторый текст пространство.

Что нового в diffstat:

  • Новый файл 0644 показан как (new)
  • Новый файл 0755 показан как (new +x)
  • Новая символическая ссылка показана как (new +l)
  • Удаленный файл отображается как (gone)
  • Смена режима с добавлением исполняемого бита отображается как (mode +x)
  • Удаление изменения режима показано как (mode -x)

Обратите внимание, что --compact-summary не содержит всю информацию --summary. Процент перезаписи не отображается, но может быть добавлено позже, например R50% или C20%.