Добавить в корзинуПозвонить
Найти в Дзене
Герман Геншин

Узнайте, кто за что отвечает с помощью этого полезного инструмента Git

Команда Git blame действительно полезна, но она лишь показывает авторство по строкам. Если вы хотите получить более полное представление об авторах ваших проектов с открытым исходным кодом, попробуйте этот инструмент. git-who — это специальная команда git, которая предоставляет интересную и полезную информацию об авторах коммитов в репозитории. С ее помощью вы сможете узнать, кто недавно обновил код, какие авторы внесли наибольшее количество изменений, а также кто отвечает за конкретные подкомпоненты. Хотя встроенная команда git blame может рассказать вам об авторах отдельных строк кода, git-who предлагает подробности о файлах, директориях и целых проектах. Git отслеживает коммиты с течением времени, позволяя вам наблюдать за прогрессом и историей вашего кода. git-who работает в терминале, но отображает данные в аккуратно оформленных, читабельных таблицах с цветовой подсветкой. Самый простой способ установки git-who — использовать пакетный менеджер Homebrew: Вы также можете легко уста
Оглавление

Резюме

Команда Git blame действительно полезна, но она лишь показывает авторство по строкам. Если вы хотите получить более полное представление об авторах ваших проектов с открытым исходным кодом, попробуйте этот инструмент.

Что такое git-who и чем он отличается от git blame?

git-who — это специальная команда git, которая предоставляет интересную и полезную информацию об авторах коммитов в репозитории. С ее помощью вы сможете узнать, кто недавно обновил код, какие авторы внесли наибольшее количество изменений, а также кто отвечает за конкретные подкомпоненты.

Хотя встроенная команда git blame может рассказать вам об авторах отдельных строк кода, git-who предлагает подробности о файлах, директориях и целых проектах.

Как просмотреть историю коммитов с помощью Git Log

Git отслеживает коммиты с течением времени, позволяя вам наблюдать за прогрессом и историей вашего кода.

git-who работает в терминале, но отображает данные в аккуратно оформленных, читабельных таблицах с цветовой подсветкой.

-2

Как установить и использовать git-who

Самый простой способ установки git-who — использовать пакетный менеджер Homebrew:

Вы также можете легко установить программу из исходного кода или загрузить предварительно скомпилированный бинарный файл со страницы релизов проекта.

После установки вы можете запустить её, используя git-who или git who в каталоге вашего репозитория git:

-3

Убедитесь, что бинарный файл git-who находится в вашем PATH, особенно если вы собирали его из исходников. Это позволит вам использовать команду git who.

Этот стандартный вид — подкоманда таблицы. Она демонстрирует краткое резюме основных вкладчиков с указанием их последних изменений и общего количества коммитов. git-who поддерживает две другие подкоманды: tree и hist.

Подкоманда tree показывает полную иерархию репозитория, указывая основного вкладчика рядом с каждой директорией и его общее количество коммитов.

-4

Третья подкоманда — hist, для «истории». Этот вид отображает хронологию вкладов по датам, позволяя вам отслеживать участников проекта с течением времени:

-5

Это также гистограмма, что позволяет быстро заметить этапы с наибольшим числом коммитов.

Некоторые команды могут занять значительное время на выполнение, особенно в больших репозиториях, таких как ядро Linux. Чтобы ускорить процесс, попробуйте отфильтровать результаты, используя дополнительные параметры git-who.

Расширенные функции git-who

Каждая из подкоманд git-who имеет разумные значения по умолчанию, но результаты могут значительно варьироваться в зависимости от размера и структуры вашего репозитория. Например, выполнение команды git-who tree в большом репозитории может привести к большому количеству выводимых строк.

Программа git-who поддерживает множество опций, позволяющих вам настроить ее поведение и вывод. Все подкоманды могут использовать --author для включения только определенных авторов и --nauthor для их исключения. Вы также можете применять опции --since и --until для ограничения вывода по датам:

-6

Важно отметить, что статистика git-who по умолчанию не включает коммиты слияния. Это может оказать значительное влияние в зависимости от того, как организован репозиторий. Например, Линус Торвальдс отсутствует в статистике собственного репозитория Linux:

-7

Однако как главный разработчик, Торвальдс обрабатывает множество слияний и является основным вкладачиком, если учитывать их с использованием опции --merges:

-8

Настройка таблицы git-who

По умолчанию таблица сортируется по общему количеству коммитов. Вы можете изменить это и сортировать авторов по дате их последнего коммита, используя опцию -m:

-9

Опция -l сосредотачивается на измененных строках, а не на коммитах. Она сортирует по количеству измененных строк и показывает, сколько файлов было изменено, а также количество добавленных и удаленных строк:

-10

Вы также можете отсортировать вывод по измененным файлам, используя -f, или по первому изменению с помощью -c.

Настройка дерева git-who

Первое, что вы можете сделать с tree, — это ограничить её глубину. Если ваш репозиторий содержит много файлов и директорий, команда tree по умолчанию создаст слишком много данных. Опция -d позволяет вам указать глубину, чтобы видеть информацию об авторах только для директорий верхнего уровня, например:

-11

Опция -l выбирает автора с наибольшим количеством измененных строк, а не того, кто сделал больше всего коммитов. Она аннотирует каждый файл и директорию количеством строк, добавленных и удаленных каждым автором:

-12

Настройка hist git-who

Подкоманда hist уже располагает удобной встроенной функцией, автонастраиваясь на представление по дням, месяцам или годам в зависимости от возраста репозитория:

-13

Опции --since и --until хорошо работают с hist, помогая ограничить период, о котором она сообщает.

-14

Эти опции достаточно гибкие в формате, который они принимают, так что не стесняйтесь экспериментировать. Например, все эти варианты должны работать:

Если вам понравилась эта статья, подпишитесь, чтобы не пропустить еще много полезных статей!

Вы также можете читать наши материалы в: