<p>Git log - это команда в системе контроля версий Git, которая позволяет просматривать историю коммитов в репозитории. При использовании этой команды Git выводит список всех коммитов, начиная с самого последнего и заканчивая самым первым. Это очень удобно для отслеживания изменений, контроля работы над проектом и восстановления предыдущих версий кода.</p>
<p>Пример использования команды git log:</p>
<pre class="hljs">$ git log<br />
commit 3e5a468091c23541829d65f3d6361428369be7b7 (HEAD -> master)<br />
Author: John Doe <johndoe@example.com><br />
Date: Mon Nov 01 13:20:00 2023 +0300<br />
<br />
Added new feature X</pre>
<pre class="hljs">commit afc78b02e0d4cce5b5a4e6cca542d7e8b492ca14<br />
Author: Jane Smith <janesmith@example.com><br />
Date: Fri Oct 28 09:45:17 2023 +0300<br />
<br />
Fixed issue with feature Y</pre>
<pre class="hljs">commit 922d1bf77a1bd1db0bc5b34d976bc1bc9aac2c39<br />
Author: John Doe <johndoe@example.com><br />
Date: Tue Oct 25 17:30:39 2023 +0300<br />
<br />
Initial commit</pre>
<p>В этом примере выводится список трех последних коммитов в репозитории. Каждый коммит содержит информацию о его идентификаторе (хэше), авторе, дате и сообщении коммита. Последний коммит (HEAD) всегда указывает на последнюю версию кода.</p>
<p>Команда git log имеет много опций, которые могут быть использованы для настройки вывода. Например, параметр --oneline сокращает вывод каждого коммита до одной строки, содержащей только идентификатор коммита и сообщение:</p>
<pre class="hljs">$ git log --oneline<br />
3e5a468 (HEAD -> master) Added new feature X<br />
afc78b0 Fixed issue with feature Y<br />
922d1bf Initial commit</pre>
<p>Еще одна полезная опция - параметр --stat, который показывает статистику изменений, сделанных в каждом коммите:</p>
<pre class="hljs">$ git log --stat<br />
commit 3e5a468091c23541829d65f3d6361428369be7b7 (HEAD -> master)<br />
Author: John Doe <johndoe@example.com><br />
Date: Mon Nov 01 13:20:00 2023 +0300<br />
<br />
Added new feature X<br />
<br />
main.js | 9 +++++++++<br />
styles.css | 4 ++++<br />
2 files changed, 13 insertions(+)<br />
<br />
commit afc78b02e0d4cce5b5a4e6cca542d7e8b492ca14<br />
Author: Jane Smith <janesmith@example.com><br />
Date: Fri Oct 28 09:45:17 2023 +0300<br />
<br />
Fixed issue with feature Y<br />
<br />
main.js | 2 +/-<br />
1 file changed, 1 insertion(+), 1 deletion(-)<br />
<br />
commit 922d1bf77a1bd1db0bc5b34d976bc1bc9aac2c39<br />
Author: John Doe <johndoe@example.com><br />
Date: Tue Oct 25 17:30:39 2023 +0300<br />
<br />
Initial commit<br />
<br />
index.html | 5 +++++<br />
styles.css | 10 ++++++++++<br />
2 files changed, 15 insertions(+)</pre>
<p>В этом примере показана статистика изменений в каждом коммите, включая список измененных файлов и количество добавленных/удаленных строк.</p>
<p>Команда git log также поддерживает фильтрацию и сортировку коммитов с помощью различных флагов. Например, можно ограничить вывод команды git log только до коммитов, сделанных определенным автором:</p>
<pre class="hljs">$ git log --author="John Doe"<br />
commit 3e5a468091c23541829d65f3d6361428369be7b7 (HEAD -> master)<br />
Author: John Doe <johndoe@example.com><br />
Date: Mon Nov 01 13:20:00 2023 +0300<br />
<br />
Added new feature X<br />
<br />
commit 922d1bf77a1bd1db0bc5b34d976bc1bc9aac2c39<br />
Author: John Doe <johndoe@example.com><br />
Date: Tue Oct 25 17:30:39 2023 +0300<br />
<br />
Initial commit</pre>
<p>Кроме того, команда git log может быть использована для просмотра изменений в определенном файле или директории. Пример:</p>
<pre class="hljs">$ git log main.js<br />
commit 3e5a468091c23541829d65f3d6361428369be7b7 (HEAD -> master)<br />
Author: John Doe <johndoe@example.com><br />
Date: Mon Nov 01 13:20:00 2023 +0300<br />
<br />
Added new feature X<br />
<br />
commit afc78b02e0d4cce5b5a4e6cca542d7e8b492ca14<br />
Author: Jane Smith <janesmith@example.com><br />
Date: Fri Oct 28 09:45:17 2023 +0300<br />
<br />
Fixed issue with feature Y<br />
<br />
commit 922d1bf77a1bd1db0bc5b34d976bc1bc9aac2c39<br />
Author: John Doe <johndoe@example.com><br />
Date: Tue Oct 25 17:30:39 2023 +0300<br />
<br />
Initial commit</pre>
<p>В этом примере показана история изменений только для файла main.js.</p>
<p>Команда git log является очень мощным инструментом, которая помогает отслеживать историю изменений в Git-репозитории. Она предоставляет множество опций для настройки вывода, фильтрации и сортировки коммитов. Благодаря этому, разработчики могут легко изучать и анализировать историю разработки проекта, что приносит большую пользу при работе с Git.</p>