Можно ли перечислить всех пользователей, которые внесли свой вклад в проект (пользователей, которые сделали коммиты) в Git?
Любая дополнительная статистика?
Можно ли перечислить всех пользователей, которые внесли свой вклад в проект (пользователей, которые сделали коммиты) в Git?
Любая дополнительная статистика?
Чтобы показать всех пользователей и электронные письма, а также количество коммитов:
git shortlog --summary --numbered --email
Или просто:
git shortlog -sne
Если вы хотите быть более точным в списке (найти список уникальных коммиттеров и авторов), вы можете использовать git log
:
git log --pretty="%an %ae%n%cn %ce" | sort | uniq
%an
имя автора%ae
электронная почта автора%n
новая строка%cn
имя %cn
%ce
адресат электронной почты Другие заполнители описаны в красивой печатной документации git log
.
Вы можете попробовать следующее:
git log | grep Author: | sort | uniq
(пользователи, которые сделали коммиты)
Примечание: по умолчанию группы git shortlog
авторами.
Если вам нужно сгруппировать их по коммиттерам, вам понадобится Git 2.12 (1 квартал 2017 года)
git shortlog -snc
См. Коммит 03f4082 (16 декабря 2016 г.) Джеффа Кинга (peff
).
Смотрите коммит fbfda15 (11 октября 2016 г.) Линуса Торвальдса (torvalds
).
(Объединено Junio C Hamano - gitster
- в коммите ad1b4e2, 27 декабря 2016 г.)
Сам Линус Торвальдс вводит эту функцию:
shortlog
: группировать информацию оshortlog
В некоторых ситуациях вы можете сгруппировать коммиты не по автору, а по коммиттеру.
Например, когда я просто хотел посмотреть, что мне все еще не хватает в
linux-next
в текущем окне слияния, меня не очень заботит вопрос о том, кто написал патч, а о том, из какогоgit tree
он вышел, который обычно кипит. вплоть до "кто совершил это".Так что заставьте git shortlog выбрать опцию "
-c
" или "--committer
", чтобы переключить группировку на эту.
Другой вариант может быть:
git log --format='%aN' | sort -u
Я сам пока не удосужился протестировать его, но это выглядит очень хорошо для статистики проекта для репозитория Git: https://github.com/visionmedia/git-extras
Проверьте каталог bin
чтобы увидеть различные сценарии.
Например, скрипт git-count
(количество коммитов на коммиттера):
git shortlog -n [email protected] | grep "):" | sed 's|:||'
Вы можете попробовать удивительный пакет под названием git-extras. В частности, команды git-summary, git-count и, возможно, некоторые другие.
Большинство репозиториев содержат несколько идентификаторов (пар [электронная почта, имя]) на одного автора. Если я могу предложить решение без CLI, попробуйте Gitential, который также дедуплицирует личность автора.
Отличные ответы @pedro-nascimento, @mic_e и других уже решают проблему.
Кроме того, вы можете добавить следующую строку в ваш .gitconfig
contributors = shortlog -e --summary --numbered
или в типе оболочки
git config --global alias.contributors 'shortlog -e --summary --numbered'
Последние: вы можете использовать это
git log --reflog
Нажмите ввод и просмотрите последние коммиты, нажав ввод.
Выйдите из сессии, введя wq
commit c11a44a5c184599dd8d4648752470443ce3b3f33 (origin/feature/abcd, feature/abc)
Author: <Auther name>
Date: Mon Jan 28 09:58:03 2019 +0530
commit message