Підсумуйте зміни (вставки та вилучення) в 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.