Git Staging Environment
What is the Staging Environment?
The staging environment (or staging area) is like a waiting room for your changes.
You use it to tell Git exactly which files you want to include in your next commit.
This gives you control over what goes into your project history.
Here are some key commands for staging:
git add <file>- Stage a filegit add --allorgit add -A- Stage all changesgit status- See what is stagedgit restore --staged <file>- Unstage a file
Stage a File with git add
To add a file to the staging area, use git add <file>:
Now index.html is staged. You can check what is staged with git status:
Example
git status
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: index.html
Try it Yourself »
Stage Multiple Files (git add --all, git add -A)
You can stage all changes (new, modified, and deleted files) at once:
git add -A does the same thing as git add --all.
Check Staged Files with git status
See which files are staged and ready to commit:
Example
git status
On branch main
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: README.md
new file: bluestyle.css
new file: index.html
Try it Yourself »
How to Unstage a File
If you staged a file by mistake, you can remove it from the staging area (unstage it) with:
Now index.html is no longer staged. You can also use git reset HEAD index.html for the same effect.
Before your first commit there is nothing to restore from, so use git rm --cached index.html instead, as git status suggests.
Troubleshooting
- Staged the wrong file? Use
git restore --staged <file>to unstage it. - Forgot to stage a file? Just run
git add <file>again before you commit. - Not sure what's staged? Run
git statusto see what will be committed.