git diff показывает изменения между коммитами, рабочей областью и индексом. Она генерирует патч, отображающий добавленные, удаленные и измененные строки кода. По умолчанию сравнивает рабочую область с индексом.
Команда git diff в Git используется для отображения изменений между различными состояниями вашего репозитория. Она позволяет сравнить изменения в файлах между:
git add). Вы увидите различия между тем, что у вас сейчас в файлах, и тем, что вы последний раз добавляли для коммита.Основные варианты использования:
git diff: Сравнивает рабочую директорию с индексом.git diff --cached или git diff --staged: Сравнивает индекс с последним коммитом (HEAD).git diff <commit1> <commit2>: Сравнивает два коммита. <commit1> и <commit2> могут быть SHA-хешами коммитов, именами веток или тегов.git diff <branch1> <branch2>: Сравнивает две ветки.git diff <file>: Сравнивает рабочую директорию с индексом для конкретного файла.git diff HEAD: Сравнивает рабочую директорию с последним коммитом.Формат вывода:
Вывод git diff обычно представляет собой так называемый "патч". Он показывает, какие строки были добавлены (+), удалены (-) или изменены в файлах.
Пример вывода:
diff --git a/file.txt b/file.txt
index 1234567..89abcdef 100644
--- a/file.txt
+++ b/file.txt
@@ -1,3 +1,4 @@
This is the first line.
This is the second line.
-This is the third line.
+This is the third line.
+This is the fourth line.
В этом примере:
diff --git a/file.txt b/file.txt: Указывает, что файл file.txt был изменен.index 1234567..89abcdef 100644: Информация об индексах файлов.--- a/file.txt: Показывает версию файла до изменений.+++ b/file.txt: Показывает версию файла после изменений.@@ -1,3 +1,4 @@: Указывает строки, которые были изменены (с 1 по 3 в исходном файле, заменены строками с 1 по 4 в новом файле).-This is the third line.: Строка, которая была удалена.+This is the fourth line.: Строка, которая была добавлена.Важность:
git diff – это фундаментальная команда для понимания изменений в коде, проверки перед коммитом и отслеживания истории проекта.