Básico
Staging Area
Área intermediária onde você seleciona exatamente quais alterações entrarão no próximo commit.
A "caixa de preparação" antes do commit
No Git, editar um arquivo não coloca ele automaticamente no próximo commit. Antes disso, você escolhe o que quer empacotar usando a Staging Area (também chamada de Index).
Por que isso é útil?
Suponha que você alterou dois arquivos diferentes ao mesmo tempo: LoginController.php (feature nova) e README.md (correção de texto). Com a Staging Area, você pode:
- Colocar apenas
LoginController.phpna stage (git add LoginController.php) e fazer umfeat: .... - Depois colocar
README.md(git add README.md) e fazer umdocs: ....
Assim o histórico fica limpo e organizado, mesmo quando você editou várias coisas juntas!
Diagrama Visual: Da edição até o GitHub (4 Áreas)
Staging Area
Exemplo Prático
bash
# Coloca apenas 1 arquivo na Staging Area
git add resources/views/glossary/show.blade.php
# Confere o que está "staged" (verde) vs não adicionado (vermelho)
git status
# Se adicionou um arquivo por engano, tira da Staging Area sem perder as edições
git restore --staged .env