Сравнение (diff)
Что такое git diff?
git diff
– это команда в Git, которая используется для отображения различий между различными версиями файлов. Она показывает изменения, которые были внесены в файлы, но еще не закоммичены в репозиторий. Команда git diff
полезна для просмотра текущих изменений, которые вы сделали в вашем рабочем каталоге, а также для сравнения различных веток, коммитов и тэгов.
Основные характеристики
- Просмотр изменений:
git diff
показывает изменения в файлах между различными состояниями вашего репозитория. - Сравнение версий: Можно сравнивать изменения между ветками, коммитами, индексом и рабочим каталогом.
- Патчи: Показывает различия в формате патча, что удобно для анализа изменений или создания патчей для других разработчиков.
Синтаксис
git diff [опции] [<коммит> <коммит> | <путь>]
Примеры использования
-
Просмотр изменений в рабочем каталоге по сравнению с индексом (staging area):
git diff
Эта команда показывает изменения, которые были сделаны в файлах, но еще не были добавлены в индекс.
-
Просмотр изменений, которые были добавлены в индекс, но еще не закоммичены:
git diff --cached
Также можно использовать
git diff --staged
вместо--cached
. -
Просмотр всех изменений, которые были сделаны в рабочем каталоге и индексе по сравнению с последним коммитом:
git diff HEAD
-
Сравнение двух веток:
git diff branch1 branch2
Эта команда показывает различия между ветками
branch1
иbranch2
. -
Сравнение двух коммитов:
git diff commit1 commit2
Эта команда показывает различия между коммитами
commit1
иcommit2
. -
Просмотр изменений в конкретном файле:
git diff <файл>
Эта команда показывает изменения, сделанные в указанном файле.
Полезные опции
-
--name-only
: Показывает только имена изменённых файлов, без подробного списка изменений.git diff --name-only
-
--stat
: Показывает статистику изменений, включая количество добавленных и удалённых строк для каждого файла.git diff --stat
-
--color
: Включает или отключает цветное выделение изменений.git diff --color
-
--word-diff
: Показывает изменения на уровне слов, а не строк.git diff --word-diff
Примечание
Команда git diff
является очень мощным инструментом для анализа изменений в вашем репозитории. Она полезна для проверки изменений перед коммитом, анализа истории изменений и выявления проблем в коде.