← Назад к вопросам

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

1.0 Junior🔥 182 комментариев
#Git и системы контроля версий

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Просмотр локальных изменений в Git

Для просмотра локальных изменений в Git существует несколько ключевых команд, каждая из которых служит определенной цели в рабочем процессе разработчика.

Основные команды для просмотра изменений

git status - базовая команда для получения общей картины

git status

Эта команда показывает:

  • Какие файлы были изменены в рабочей директории
  • Какие файлы добавлены в staging area (индекс)
  • Какие файлы не отслеживаются Git
  • Состояние ветки относительно удаленного репозитория

git diff - детальное сравнение изменений

# Показывает изменения в рабочей директории, но не в индексе
git diff

# Показывает изменения, которые добавлены в индекс (staging area)
git diff --staged
# или альтернативный вариант:
git diff --cached

# Для конкретного файла
git diff path/to/file.js

Детальный анализ различий

Форматированный вывод diff:

# Компактный вывод
git diff --compact-summary

# Цветной вывод (обычно включен по умолчанию)
git diff --color-words

# Просмотр изменений в определенной ветке
git diff main..feature-branch

# Просмотр изменений за определенный период
git diff HEAD@{2}..HEAD

Работа с конкретными файлами и типами изменений

Просмотр изменений в отдельных файлах:

# Сравнение конкретного файла с версией в индексе
git diff -- file.txt

# Сравнение файла между двумя коммитами
git diff abc123..def456 -- file.txt

# Просмотр только имен измененных файлов
git diff --name-only
git diff --name-only HEAD~3..HEAD

Фильтрация по типу изменений:

# Только добавленные строки
git diff --diff-filter=A

# Только удаленные строки
git diff --diff-filter=D

# Только измененные файлы
git diff --diff-filter=M

Продвинутые техники просмотра

git log с отображением изменений:

# Просмотр истории с патчами
git log -p

# Ограничение количества коммитов
git log -p -3

# Графическое представление истории
git log --oneline --graph --decorate

Интерактивный просмотр изменений:

# Интерактивное добавление изменений с просмотром
git add -p

Эта команда позволяет просматривать изменения по частям (hunks) и интерактивно решать, какие из них добавлять в индекс.

Инструменты визуализации

Хотя командная строка эффективна, для сложных изменений полезны графические инструменты:

# Использование встроенного git gui
git gui

# Использование сторонних diff-инструментов
git difftool

Практический рабочий процесс

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

  1. После внесения изменений:
git status  # Быстрая проверка состояния
  1. Перед добавлением в индекс:
git diff    # Детальный просмотр всех изменений
  1. После добавления в индекс (перед коммитом):
git diff --staged  # Проверка того, что будет закоммичено
  1. Просмотр истории:
git log --oneline --graph -10  # Последние 10 коммитов

Важные нюансы

  • Неотслеживаемые файлы отображаются только в git status, но не в git diff
  • Игнорируемые файлы (указанные в .gitignore) не показываются вообще
  • Изменения в staging area можно просматривать только через git diff --staged
  • Флаг --word-diff полезен для текстовых документов, так как показывает изменения на уровне слов

Полезные алиасы для упрощения работы:

# Добавление в ~/.gitconfig
[alias]
    st = status
    di = diff
    dc = diff --cached
    last = log -1 HEAD --stat
    visual = !gitk

Эти инструменты и команды составляют основу эффективной работы с локальными изменениями в Git, позволяя разработчикам точно контролировать состояние своего кода на каждом этапе работы.

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