какой командой выводится история коммитов текущей ветки

Просмотр истории коммитов

Следующие несколько примеров используют очень простой проект «simplegit». Чтобы клонировать проект, используйте команду:

Если вы запустите команду git log в каталоге клонированного проекта, вы увидите следующий вывод:

По умолчанию (без аргументов) git log перечисляет коммиты, сделанные в репозитории в обратном к хронологическому порядке — последние коммиты находятся вверху. Из примера можно увидеть, что данная команда перечисляет коммиты с их SHA-1 контрольными суммами, именем и электронной почтой автора, датой создания и сообщением коммита.

Команда git log имеет очень большое количество опций для поиска коммитов по разным критериям. Рассмотрим наиболее популярные из них.

Сокращенный хеш коммита

Сокращенный хеш дерева

Сокращенный хеш родителей

Электронная почта автора

Относительная дата автора

Электронная почта коммитера

Относительная дата коммитера

Вам наверное интересно, какая же разница между автором и коммитером. Автор — это человек, изначально сделавший работу, а коммитер — это человек, который последним применил эту работу. Другими словами, если вы создадите патч для какого-то проекта, а один из основных членов команды этого проекта применит этот патч, вы оба получите статус участника — вы как автор и основной член команды как коммитер. Более детально мы рассмотрим разницу в главе Распределенный Git.

Данный вывод будет нам очень интересен в следующей главе, где мы рассмотрим ветвление и слияние.

Мы рассмотрели только несколько простых опций для форматирования вывода с помощью команды git log — на самом деле их гораздо больше. Наиболее распространенные опции для команды git log содержит описание как уже рассмотренных, так и нескольких новых опций, которые могут быть полезными в зависимости от нужного формата вывода.

Таблица 2. Наиболее распространенные опции для команды git log

Показывает патч для каждого коммита.

Показывает статистику измененных файлов для каждого коммита.

Показывает список измененных файлов после информации о коммите.

Показывает список файлов, которые добавлены/изменены/удалены.

Показывает только несколько символов SHA-1 чек-суммы вместо всех 40.

Отображает дату в относительном формате (например, «2 weeks ago») вместо стандартного формата даты.

Отображает ASCII граф с ветвлениями и историей слияний.

Показывает коммиты в альтернативном формате. Возможные варианты опций: oneline, short, full, fuller и format (с помощью последней можно указать свой формат).

Ограничение вывода

В таблице Опции для ограничения вывода команды git log вы можете увидеть эти и другие распространенные опции.

Опция Описание
Таблица 3. Опции для ограничения вывода команды git log

Показывает только последние n коммитов.

Показывает только те коммиты, которые были сделаны после указанной даты.

Показывает только те коммиты, которые были сделаны до указанной даты.

Показывает только те коммиты, в которых запись author совпадает с указанной строкой.

Показывает только те коммиты, в которых запись committer совпадает с указанной строкой.

Показывает только коммиты, сообщение которых содержит указанную строку.

Показывает только коммиты, в которых изменение в коде повлекло за собой добавление или удаление указанной строки.

Например, если вы хотите увидеть, в каких коммитах произошли изменения в тестовых файлах в исходном коде Git в октябре 2008 года, автором которых был Junio Hamano и которые не были коммитами слияния, вы можете запустить следующую команду:

Из почти 40 000 коммитов в истории исходного кода Git, эта команда показывает только 6, которые соответствуют этим критериям.

Источник

Просмотр истории коммитов в Git

Древовидный вид

Выводим полный граф коммитов c сокращёнными хешами, ссылками на коммиты и относительной датой. Используемый формат: синий сокращённый хеш коммита, зелёная дата, белые сообщение и автор, жёлтые ссылки на коммит.

Выводим полный граф коммитов c сокращёнными хешами, ссылками на коммиты и абсолютной датой. Используемый формат: синий сокращённый хеш коммита, голубая абсолютная дата, зелёная относительная дата, жёлтые ссылки на коммит, перевод строки, белые сообщение и автор.

Выводим полный граф коммитов, отводя по одной строке на коммит.

Выводим полный граф коммитов c сортировкой по дате, отображаемой в краткой форме. Используемый формат: сокращённый хеш, дата, автор, зелёные ссылки на коммит, сообщение.

Линейный вид

Вывод списка коммитов с параметрами по умолчанию.

Выводим список коммитов и показываем diff для каждого.

Выводим список коммитов и показываем статистику по каждому.

Выводим список коммитов по одному на строчке.

Выводим список коммитов с использованием следуюещго формата: сокращённый хеш коммита, автор, относительная дата, сообщение.

Визуальный интерфейс

Если есть возможность, то всё таки коммиты приятнее изучать через специализированный интерфейс, а не из консоли. Лично я очень люблю GitExtensions:

Также удобно использовать встроенную утилиту gitk:

Полезные параметры

Все параметры команды git log не нужны, но некоторые самые полезные хорошо бы помнить. Приведу несколько примеров использования ходовых параметров.

Источник

Читайте также:  что делать если болит чуть выше колена
Сказочный портал
Опция Описание