Что такое staged и unstaged в Git — объясняем простыми словами

Разбираемся, как Git отслеживает изменения: что такое staged, unstaged и как с этим работать. Полезно начинающим!

РазработкаОсновы

Если ты только начинаешь знакомиться с Git, то наверняка сталкивался с загадочными словами:

  • 🟡 staged

  • 🔴 unstaged

И звучат они так, будто ты должен был пройти какой-то секретный курс... Но не переживай! Сейчас объясним на пальцах, что это значит — и зачем нужно 😺

🧶 Представь: у тебя есть коробка с проектом

Допустим, ты работаешь над сайтом. В папке проекта — куча файлов: index.html, style.css, script.js и т.д.

Ты открыл style.css и поменял цвет кнопки на красный. Git такой:

🟡 “Окей, ты что-то поменял... Но пока я просто заметил это. Я не буду это сохранять в коммит, пока ты сам не скажешь.”

Вот это состояние — unstaged. Git знает, что файл изменён, но не готовит его к сохранению.

🧾 А теперь скажи Git: "Вот этот — запомни"

Ты вводишь команду:

git add style.css

Теперь Git отвечает:

✅ “Принято! Я запомнил этот файл. Он готов к коммиту.”

И теперь style.css — это уже staged, то есть “подготовлен к коммиту”.

📸 А что такое коммит?

Коммит — это как 📷 фото твоего проекта в данный момент. Только в это фото попадают только staged-файлы.

Если файл в статусе unstaged — он не попадёт в коммит, даже если ты его изменил.

🔄 Ещё раз по-простому:

Состояние

Что значит

Попадёт в коммит?

unstaged

Файл изменён, но Git не запомнил

❌ Нет

staged

Git готов сохранить изменения

✅ Да

🧠 Запомни через аналогию

Представь, ты актёр 🎭:

  • Репетируешь сцену у себя дома → Git знает, что ты готовишься (unstaged)

  • Выходишь на репетицию перед режиссёром → ты staged, готов к выступлению

  • Премьера, спектакль, коммит → тебя увидят зрители, ты официально в истории проекта

🧪 Пример в терминале


echo "h1 {color: red}" >> style.css       # меняем файл
git status                                # Git: файл изменён (unstaged)

git add style.css                         # готовим файл
git status                                # Git: файл staged ✅

git commit -m "Изменён цвет заголовка"    # создаём коммит
  

В приложении Кодик мы учим Git на практике — с примерами, шаг за шагом.

📦 Git — не страшный, если объяснить правильно. А мы как раз это и делаем 🐾