Что изменилось: status и diff
В прошлом уроке вы познакомились с тремя областями: рабочей областью, областью подготовки (staging) и историей (коммитами). Теперь мы изучим две команды, которые показывают вам, что происходит между этими областями, ничего не меняя. git status — это ваша приборная панель: «где я и что изменилось?» —
status — это чек кассира: список того, что в коробке (подготовлено), что ещё вне её (не подготовлено) и что совсем новое. diff — это сравнение бок о бок точных слов, которые изменились.
- git status
- Приборная панель репозитория: активная ветка, уже подготовленные файлы, изменения, ещё не добавленные, и совсем новые неотслеживаемые файлы. Только для чтения — ничего не меняет.
- git diff
- Показывает точную разницу строка за строкой. Без флага — между рабочей областью и staging (то, что вы не добавили). С --staged — между staging и последним коммитом (то, что вот-вот будет сохранено).
- Неотслеживаемый файл
- Новый файл, который существует в папке, но Git его ещё не отслеживает, потому что он никогда не был добавлен через git add. status перечисляет его в разделе «Untracked files».
- Неподготовленные изменения
- Изменения в уже отслеживаемом файле, которые не были добавлены в staging через git add, поэтому они не попадут в следующий коммит, пока вы их не добавите.