git status 这个命令符会让我时刻掌握仓库的当前状态
上一节我们创建了一个名叫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")
从显示的内容可看到,文件已经被修改过了,但是还没有提交:
使用git add <file>...可以用来更新将被提交的内容;
使用git checkout -- <file>...可以丢弃修改的内容,这个我试了下,运行这段后,再使用git status,会发现显示以下内容:
On branch master
nothing to commit, working tree clean
也就是说没有内容需要提交,工作区是干净的;而且查看文件,可以看到文件还原到一开始未修改的状态了。
丢弃修改的内容这段按下不表,我们还是从上面已修改文件但是未提交的那里看。
git diff 查看修改前后内容的区别
用git status查看文件的状态后,如果我们想看做了什么修改,可以使用git diff来查看,输入git diff readme.txt后,可以查看到显示以下的内容:
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.
这样可以看到修改前后分别是什么内容。
注:我试了下,如果只使用git diff的话,其实也是可以的,但是前面一定要到这个地址下,即C:\Users\Administrator\learngit
已经知道了修改的是什么内容,我们可以放心提交代码了,和之前一样,先增加到仓库:
git add readme.txt
然后可以提交了,再提交之前,我们先用git status查看下状态是什么样子:
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: readme.txt
可以看到显示的是这个改变可以被提交,然后我们就提交:
git commit -m "add distributed"
显示的是:
[master e475afc] add distributed
1 file changed, 1 insertion(+), 1 deletion(-)
这个暂时看不懂,按下不表。
然后我们再使用git status来看下目前提交之后是什么状态:
On branch master
nothing to commit, working tree clean
可以看到显示的是当前没有需要提交的内容,工作目录是干净的。
小结
要随时掌握工作区的状态,使用git status命令。
如果git status告诉你有文件被修改过,用git diff可以查看修改内容。
以上是我看廖雪峰老师的网站,然后做的学习摘抄,无意侵犯老师作品,如有侵犯,我会删除。