$git status
# On branch master# Changes not staged for commit:# (use "git add ..." to update what will be committed)# (use "git checkout -- ..." to discard changes in working directory)## modified: readme.txt#no changes added to commit (use"git add"and/or"git commit -a")
掌握仓库当前的状态,readme.txt被修改过了,但还没有准备提交的修改。
git status命令的输出十分详细,但其用语有些繁琐。 如果你使用git status -s命令或git status --short命令,你将得到一种更为紧凑的格式输出。 运行git status -s,状态报告输出如下:
$ git status -s
M README
MM Rakefile
A lib/git.rb
M lib/simplegit.rb
?? LICENSE.txt
新添加的未跟踪文件前面有??标记,新添加到暂存区中的文件前面有A标记,修改过的文件前面有M标记。 你可能注意到了M有两个可以出现的位置,出现在右边的M表示该文件被修改了但是还没放入暂存区,出现在靠左边的M表示该文件被修改了并放入了暂存区。 例如,上面的状态报告显示:README文件在工作区被修改了但是还没有将修改后的文件放入暂存区,lib/simplegit.rb文件被修改了并将修改后的文件放入了暂存区。 而Rakefile在工作区被修改并提交到暂存区后又在工作区中被修改了,所以在暂存区和工作区都有该文件被修改了的记录。
$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index46d49bf..9247db6100644--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Gitisa version control system.
+Gitisa distributed version control system.
Gitisfree software.
git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们在第一行添加了一个“distributed”单词。
网友评论