Підсумуйте зміни (вставки та вилучення) в Git [закрито]


47

Я хочу подивитися на те, як з часом зросла моя база кодів. GitHub має чудовий +/-дисплей у списку чеків, що дає відчуття цього. Чи є щось подібне, що я можу використовувати в репо або в режимі офлайн зі своїм кодом Google?


1
Я голосую, щоб закрити це питання поза темою, оскільки використання інструментів, характерних для розробки програмного забезпечення. Ці запитання належать до переповнення стека, але це питання занадто старе для міграції.
— Томас Оуенс

рекомендовано прочитати: Куди йде моє запитання про git?
— гнат

Відповіді:


71

У Git є декілька варіантів для отримання даних про зміни.

git log --stat покаже суму, яку кожен файл було змінено.

git whatchanged дає деяку деталізацію файлів, які були змінені.

git diff --stat <sha1> <sha2> дає файли та кількість змін між двома комітами.

Є багато інших блогів, які дають різні форматовані журнали. Пошук у Google може вказати на них. Також це git log --helpдасть різні варіанти форматування історії вашого репо. Git має можливість надати вам зовсім небагато даних за допомогою різних logпараметрів командного рядка (фільтрація за автором, файлом тощо).


6
Гарний! Дякую. Тепер я також бачу, що --numstatце менш солодкий, але чистий альтернативний формат.
— Potatoswatter

18
--shortstatпросто роздрукує підсумки.
— Кейсі

1
мати на увазі , що git diff --stat <sha1> <sha2>не включає в себе вставки і делеції в <sha1>, так що ви повинні поставити на shaфіксацію тільки до <sha1>до включає в себе<sha1>
— Vaibhav Vishal

18

Якщо ви знаєте , що здійснюють ви хочете порівняти, ви можете спробувати використовувати в git diffкоманду з --statаргументом. Це дає вихід таким чином:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
Завжди любите приклад, який працює в більшості випадків (HEAD - 1) замість абстракції. Дякую Майку!
— SimplGy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.