Menu
Coddy logo textTech

Git Status

Последнее обновление

git status показывает состояние вашего рабочего дерева: какие файлы подготовлены к следующему коммиту, какие изменены, но не подготовлены, и какие не отслеживаются. Он также сообщает, на какой ветке вы находитесь и насколько вы опережаете её upstream или отстаёте от него. Это команда, которую вы запускаете чаще всего, чтобы понять текущее положение дел.

Попробуйте их в терминальном playground - реальная оболочка в вашем браузере, ничего не нужно устанавливать.

git status раскладывает файлы на добавленные в индекс (A), изменённые (M) и неотслеживаемые (??) перед коммитом.

Синтаксис

CommandWhat it does
git statusПолное состояние рабочего дерева и ветки
git status -sКороткий, компактный формат: одна строка на файл
git status -sbКороткий формат плюс строка ветки
git status --ignoredТакже показывает файлы, игнорируемые .gitignore

Чтение короткого формата

В git status -s два столбца - это staged / unstaged.

MarkerMeaning
MИзменён
AДобавлен (подготовленный новый файл)
DУдалён
??Не отслеживается

Часто задаваемые вопросы о git status

Что показывает git status?
Он перечисляет файлы, подготовленные к следующему коммиту, файлы, изменённые, но ещё не подготовленные, и файлы, которые Git вообще не отслеживает (неотслеживаемые). Он также показывает вашу текущую ветку и опережает ли она свой удалённый репозиторий или отстаёт от него. Он ничего не меняет - он чисто информативный.
В чём разница между git status и git status -s?
Обычный git status выдаёт подробный, пояснительный список, сгруппированный по состоянию. git status -s (короткий) выводит одну компактную строку на файл с двумя столбцами состояния - левый для области подготовки, правый для рабочего дерева, - который быстрее просматривать, когда вы знаете маркеры.
Как читать два столбца в git status -s?
Первый столбец - это подготовленное состояние файла, второй - его неподготовленное состояние (рабочее дерево). Например, M означает подготовлен-изменён, M означает изменён-но-не-подготовлен, MM означает и то и другое, а ?? означает не отслеживается. A - это только что подготовленный файл, а D - удаление.
Почему git status не показывает изменения моего нового файла?
Совершенно новый файл отображается как неотслеживаемый (??) - Git ещё не отслеживает его, поэтому он сообщает о всём файле как о новом, а не как о diff. После того как вы выполните git add, status покажет его как подготовленный. Неотслеживаемые файлы также не будут включены командой git commit -a.
Могу ли я потренироваться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить git status в реальной оболочке в вашем браузере - ничего не нужно устанавливать. Бесплатный интерактивный курс по Git от Coddy также пошагово охватывает повседневный рабочий процесс Git.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ