PassFront
  1. PassFront
  2. База знаний
  3. История и отмена изменений

Какая структура запроса 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

Другие вопросы раздела