## git status 查看你的文件在工作目录与缓存的状态
正如你在 `git add` 小节中所看到的,你可以执行 `git status` 命令查看你的代码在缓存与当前工作目录的状态。我演示该命令的时候加了 `-s` 参数,以获得简短的结果输出。 若没有这个标记,命令 `git status` 将告诉你更多的提示与上下文欣喜。 以下便是同样状态下,有跟没有 `-s` 参数的输出对比。简短的输出如下:
~~~
$ git status -s
AM README
A hello.rb
~~~
而同样的状态,详细的输出看起来是这样的:
~~~
$ git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
# (use "git rm --cached ..." to unstage)
#
# new file: README
# new file: hello.rb
#
# Changed but not updated:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
#
# modified: README
#
~~~
你很容易发现简短的输出看起来很紧凑。而详细输出则很有帮助,提示你可以用何种命令完成你接下来可能要做的事情。
Git 还会告诉你在你上次提交之后,有哪些文件被删除、修改或者存入缓存了。
~~~
$ git status -s
M README
D hello.rb
~~~
你可以看到,在简短输出中,有两栏。第一栏是缓存的,第二栏则是工作目录的。 所以假设你临时提交了 README 文件,然后又改了些,并且没有执行 `git add`,你会看到这个:
~~~
$ git status -s
MM README
D hello.rb
~~~
> **一言以蔽之**,执行 `git status` 以查看在你上次提交之后有啥被修改或者临时提交了, 从而决定自己是否需要提交一次快照,同时也能知道有什么改变被记录进去了。