status

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 以查看在你上次提交之后有啥被修改或者临时提交了, 从而决定自己是否需要提交一次快照,同时也能知道有什么改变被记录进去了。

文章导航