git diff коммит1 коммит2
: Показывает разницу в содержимом файлов между коммитами.git log коммит1..коммит2
: Выводит список коммитов между указанными (исключая коммит1).git show коммит
: Показывает информацию об одном коммите, включая diff. Можно использовать для каждого коммита отдельно.Существует несколько способов сравнить два коммита в Git. Выбор способа зависит от того, какая именно информация вам нужна.
1. Использование команды git diff
:
Самый распространенный способ - использовать команду git diff
. Она показывает различия между двумя коммитами в виде патча (список изменений, которые нужно применить к одному коммиту, чтобы получить другой).
git diff <commit1> <commit2>
Где <commit1>
и <commit2>
- это хеши (SHA-1) коммитов, имена веток или теги, которые вы хотите сравнить. <commit1>
- это старый коммит (базовый), а <commit2>
- новый коммит (измененный). Результат покажет, какие строки были добавлены, удалены или изменены между этими двумя коммитами.
Пример:
git diff a1b2c3d4 e5f6g7h8
Эта команда покажет все изменения между коммитом с хешем a1b2c3d4
и коммитом с хешем e5f6g7h8
.
Полезные опции для git diff
:
--stat
: Показывает краткую статистику изменений (сколько файлов изменилось, сколько строк добавлено и удалено).-w
: Игнорирует изменения в пробелах.--color-words
: Выделяет изменившиеся слова, а не только строки. (может быть полезно для просмотра изменений внутри строки)Пример с опцией --stat
:
git diff --stat a1b2c3d4 e5f6g7h8
2. Использование команды git log -p
:
Если вы хотите видеть изменения, внесенные коммитом, вместе с самим коммитом, можно использовать команду git log -p
. Эта команда покажет историю коммитов, и для каждого коммита будет выведен патч, показывающий изменения, внесенные этим коммитом.
git log -p <commit1>..<commit2>
Эта команда выведет все коммиты, начиная с <commit1>
до <commit2>
(включительно), и покажет изменения, внесенные каждым коммитом. Две точки (..
) указывают диапазон коммитов.
Чтобы просмотреть изменения внесенные конкретно в коммитах <commit1> и <commit2> вам потребуется другая команда ( описана выше git diff).
3. Использование графических инструментов:
Многие графические Git клиенты (например, SourceTree, GitKraken, Git Extensions) предлагают удобные интерфейсы для сравнения коммитов. Они позволяют визуально просматривать различия между файлами, видеть историю изменений и т.д.
Какой способ выбрать?
git diff --stat
.git diff <commit1> <commit2>
.git log -p
.