Как посмотреть локальные изменения в Git

«Как посмотреть локальные изменения в Git» — вопрос из категории Git, который задают на 24% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для просмотра локальных, ещё не отправленных в удалённый репозиторий изменений, я использую две основные команды: git status для общего обзора и git diff для деталей.

1. git status — общая картина Показывает состояние рабочей директории и staging area (индекса).

git status
# Более компактный и понятный вывод
git status -s

Вывод -s использует двухбуквенные флаги:

  • M — файл изменён, но не добавлен в индекс.
  • M — файл изменён и добавлен в индекс.
  • ?? — новый неотслеживаемый файл.
  • A — новый файл добавлен в индекс.

2. git diff — детальное сравнение Показывает построчные различия.

# Изменения в рабочих файлах, которые ЕЩЁ НЕ в индексе (не staged)
git diff

# Изменения, которые УЖЕ добавлены в индекс (staged)
git diff --staged  # или --cached

# Все локальные изменения относительно последнего коммита (и staged, и unstaged)
git diff HEAD

# Сравнить изменения в конкретном файле
git diff -- path/to/file.js

# Показать только имена изменённых файлов, без деталей
git diff --name-only

# Показать статистику изменений (сколько файлов и строк)
git diff --stat

Типичный рабочий процесс:

  1. После внесения кода делаю git status -s, чтобы быстро увидеть, что поменялось.
  2. Добавляю файлы в индекс: git add . или git add specific.file.
  3. Перед коммитом проверяю, что именно попадает в коммит: git diff --staged. Это позволяет избежать случайного добавления отладочного кода или лишних файлов.
  4. Если нужно отменить изменения в неиндексированном файле, смотрю git diff для этого файла, чтобы вспомнить, что было, затем могу выполнить git checkout -- file.