Какая структура запроса git diff?
История и отмена изменений
`git diff` показывает разницу между двумя состояниями: рабочей копией, индексом, коммитами или ветками.
Основные варианты
git diff # рабочая копия ↔ индекс (что ещё не добавлено)
git diff --staged # индекс ↔ последний коммит (что войдёт в коммит)
git diff HEAD # рабочая копия ↔ последний коммит
git diff main feature # между ветками
git diff main...feature # что изменилось в feature с момента ответвления
git diff -- src/app.js # только один файлКак читать вывод
@@ -10,3 +10,4 @@
const a = 1;
-const b = 2;
+const b = 3;
+const c = 4;@@ -10,3 +10,4 @@— фрагмент: в старой версии с 10-й строки 3 строки, в новой — 4.-удалённая строка,+добавленная, без знака — контекст.
Полезные флаги
--stat — только статистика по файлам, --name-only — список файлов, --word-diff — изменения по словам.
Коротко для собеседования
git diff [что] [с чем] [-- путь]: без аргументов — неиндексированные изменения, --staged — то, что войдёт в коммит, A...B — изменения ветки.
Подробнее: Git — git diff