Git Status Command – A Detailed Guide
Git is a distributed version control system that makes it easy for teams to collaborate on projects. One of the most important Git commands is git status
. This command allows you to see the current state of your Git repository and helps you keep track of changes as you work on a project. In this article, we will provide a comprehensive guide to using the git status
command.
What is Git Status Command?
The git status
command is used to get an overview of the current state of your Git repository. It shows you which files in your project have been modified, which files are staged and ready to be committed, and which files are untracked. This information can help you keep track of what changes you have made to your project and what work you need to do next.
How to Use Git Status Command?
Using the git status
command is simple. Open up a terminal window, navigate to your Git repository, and type the following command:
git status
When you run this command, Git will display the current state of your repository. Here is an example:
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
This output tells us that we are on the master
branch and that our branch is up to date with the remote origin
branch. It also tells us that we have one modified file, README.md
, that is not currently staged for commit. Finally, it tells us that we have one untracked file, newfile.txt
, that Git is not currently keeping track of.
Git Status Flags
The git status
command also has several flags that you can use to get more detailed information about the state of your repository:
-s or –short
The -s
or --short
flag provides a shortened output, which displays only the status of each file in a more concise format. Here is an example:
$ git status -s
M README.md
?? newfile.txt
This output tells us that the README.md
file has been modified, but newfile.txt
is an untracked file.
-u or –untracked-files
The -u
or --untracked-files
flag shows more information about untracked files. Here is an example:
$ git status -u
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
Untracked files in index:
(use "git add <file>..." to include in what will be committed)
README-copy.md
This output tells us that we have one untracked file, newfile.txt
, that Git is not keeping track of, and one untracked file in the index, README-copy.md
, that we added with git add
but have not committed yet.
-b or –branch
The -b
or --branch
flag shows the current branch and tracking branch, if any. Here is an example:
$ git status -b
On branch main
Your branch is ahead of 'origin/main' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: README.md
Untracked files:
(use "git add <file>..." to include in what will be committed)
newfile.txt
This output tells us that we are on the main
branch and that our branch is ahead of the remote origin/main
branch by 1 commit. It also tells us that we have one modified file, README.md
, that is currently staged for commit, and one untracked file, newfile.txt
.
Conclusion
The git status
command is a useful tool for getting an overview of the current state of your Git repository. By using the flags we have shown above, you can get more detailed information about modified, staged, and untracked files in your repository. Use this command regularly while working on your project to keep track of changes and make sure your repository is clean and up-to-date.