Git Status
Последнее обновление
git status показывает состояние вашего рабочего дерева: какие файлы подготовлены к следующему коммиту, какие изменены, но не подготовлены, и какие не отслеживаются. Он также сообщает, на какой ветке вы находитесь и насколько вы опережаете её upstream или отстаёте от него. Это команда, которую вы запускаете чаще всего, чтобы понять текущее положение дел.
Попробуйте их в терминальном playground - реальная оболочка в вашем браузере, ничего не нужно устанавливать.
Синтаксис
| Command | What it does |
|---|---|
git status | Полное состояние рабочего дерева и ветки |
git status -s | Короткий, компактный формат: одна строка на файл |
git status -sb | Короткий формат плюс строка ветки |
git status --ignored | Также показывает файлы, игнорируемые .gitignore |
Чтение короткого формата
В git status -s два столбца - это staged / unstaged.
| Marker | Meaning |
|---|---|
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.