刚学习Git操作可能会对一系列操作有点晕,一会添加,一会提交的,为了搞清楚目前版本库的状态,Git提供了一个非常好用的命令,它就是git status
,通过它我们可以随时掌握版本库所处的状态。
1. 查看仓库状态
为了能够看到仓库状态的变化,现在我们对上一节的readme.txt文件进行一点修改,修改后的内容如下:
Git is a distributed version control system.
Git is free software.
这时,运行git status
命令可以看到如下结果:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." 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 add
$ git add readme.txt
在运行git commit
之前,我们可以尝试执行git status
命令,可以得到如下输出结果:
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: readme.txt
可以看到,输出结果告诉我们,将要提交的修改是readme.txt文件,接下来我们就可以使用git commit
命令将修改提交到版本库了。
$ git commit -m "add distributed"
[master b33ce73] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
提交之后,我们在执行git status
可以看到提交后的状态:
$ git status
On branch master
nothing to commit, working tree clean
git status
告诉我们现在没有修改需要提交,工作目录是干净(clean)的。
2. 查看详细修改
前面介绍的git status
可以查看版本库的状态,但是它查看的状态是文件级的,也就是说,它只能查看是哪些文件被修改了,而不知道修改了哪里,但是不用担心,Git考虑到了这个问题,它给我们提交了git diff
工具,使得我们可以查看详细地修改,具体到哪些字符被修改了。
在前面的readme.txt文件的基础上继续修改,修改后的内容如下:
Git is a distributed version control system.
Git is free software.
Hello World
此时运行git diff
命令,我们可以查看好readme.txt文件具体是哪里被修改了。
diff --git a/readme.txt b/readme.txt
index 9247db6..a01293d 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,3 @@
Git is a distributed version control system.
Git is free software.
+Hello World
可以看到,我们在最后一行添加了Hello World两个单词
总结
git status
命令可以让我们随时掌握仓库的状态信息。git diff
命令可以查看文件具体的修改内容。