Предыдущий ролик Следующий ролик  

Видео урок: Просмотр логов коммита

Git: обучение основам

Теперь, когда мы сделали наш первый коммит и поговорили о том, как писать хорошие сообщения для коммитов, давайте посмотрим, где показываются эти сообщения, просмотрев лог коммита. Мы можем сделать это при помощи git log, в более общем смысле, и нам будет показан лог коммитов, которые имели место быть, на данный момент он всего один. Если же их несколько, тогда они будут показаны нам в списке один за другим. Далее, у каждого из этих коммитов есть базовые части. Вот они, и давайте рассмотрим их подробнее, есть ID коммита - это идентификатор данного коммита, мы еще поговорим о нем чуть позже.

У каждого коммита есть уникальный ID, это вот данный номер, также нам показан автор комментария, вы видите, что эта информация берется из моей глобальной конфигурации. Именно так Git узнал, кто сделал коммит, и поэтому это была первая конфигурация, которую мы сделали. Очень важно сделать это, когда вы впервые устанавливаете ваш Git репозиторий, вставьте свою информацию, чтобы он мог сказать, кто сделал коммит. Затем идет дата, когда был сделан коммит, а затем сообщение. Если бы у нас было более длинное сообщение, мы видели бы одну строку, затем пробел, а затем многострочное сообщение.

Вот это и есть способ увидеть, что происходило в прошлом с проектом. Вот, например, я работаю с другими членами команды над проектом, и мы все делаем коммиты в одно хранилище. Далее я хочу залогиниться и просмотреть сделанные изменения, а также я хочу посмотреть, кто их сделал. Для этого я использую git log, чтобы увидеть, какие изменения и кем были сделаны. Далее, я могу просмотреть детали любого из них, если хочу получить более подробную информацию. Однако лог коммита использует сообщения, которые, надеюсь, являются довольно описательными, и я могу понять, что изменилось в проекте.

Также есть несколько опций, которые вы можете использовать с git log, давайте наберем git help log. Нам будет показана страница мануала, где представлены различные опции. Я хочу вам быстренько показать пару из них. Итак, если мы напишем git log -n, а затем число, нам будет показано лимитированное число коммитов. У меня сейчас только один коммит, и поэтому если я наберу git log -n 1, нам вернется этот единственный коммит, то же самое будет, если я скажу git log -n 2, нам вернется этот единственный коммит. А давайте поставим 0, это, конечно, глупо, но нам не вернется ни одного коммита. Вот вы увидели, как можно лимитировать число коммитов, которые нам возвращаются.

Так что если мы хотим увидеть только последние пять коммитов, мы можем использовать эту команду для их получения. Также у нас есть возможность указать временной период, когда были сделаны коммиты. Итак, git log -since=, затем вводим дату и получаем логи, начиная с этой даты. Сейчас мы ничего не увидим, но если ввести дату на день раньше до моего первого коммита, и вы видите наши логи с тех пор, да, вот показан наш коммит. То же самое с until, давайте вернемся и отредактируем команду, добавив until, и нам будет показано все до 15го июня.

Если я поменяю дату на 14ое, тогда коммит не будет показан, поскольку коммит был сделан 15го. Итак, я могу использовать since и until, и их можно использовать вместе, если нам нужны коммиты, сделанные в определенный период. Обратите внимание, что мне также показан автор коммита, я, например, также могу сказать, что я хочу увидеть коммиты определенного автора. Пишем author=, а затем в кавычках или без кавычек пишем часть имени, которое мы ищем. Поищем автора с именем Kevin, и вы видите, что показан мой коммит. Но если бы коммит сделал кто-то другой, например, Joe, тогда, естественно, коммит с автором Joe не был бы найден. Такой способ поиска авторского поля может быть сделан в поле сообщения коммита при помощи grep, и это очень удобно.

Мы можем использовать grep, эта команда предназначена для поиска регулярных выражений. Да, она предназначена для глобального поиска регулярных выражений, и его надо вставить в кавычки, давайте предположим, что мы хотим найти что-то, что содержит Init. Мы ищем сообщения с любым текстом внутри, который соответствует регулярному выражению, определенному вами, так что это очень удобно. Если мы хотим найти изменения, которые произошли, когда кто-то исправлял баг, все верно, мы можем просмотреть все исправления багов. Если нам нужно найти что-то, связанное с изменениями, и где использовался JavaScript, мы можем поискать изменения JavaScript и посмотреть, что появится. Видите, писать хорошие сообщения для коммитов - это важно, потому что тогда у нас есть возможность, например, использовать grep при поиске файлов с логами.