我们已经成功添加了test.txt文件,现在继续学习,我们继续修改test.txt文件。修改为:
git is a good work helper.
I am good at git
现在,运行git status命令看看结果:
$ 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: test.txt
no changes added to commit (use "git add" and/or "git commit -a")
git status命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,test.txt被修改过了,但还没有暂存。
虽然Git告诉我们test.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的
test.txt,所以,需要用git diff这个命令看看:
diff --git a/test.txt b/test.txt
index afd2bd3..71db088 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1,2 @@
git is a good work helper.
+I am good at git
\ No newline at end of file
git diff顾名思义就是查看difference,显示的格式正是Unix通用的diff格式,可以从上面的命令输出看到,我们是添加了一行内容。
知道了对test.txt作了什么修改后,再把它提交到仓库就放心多了,提交修改和提交新文件是一样的两步,第一步是git add:
$ git add test.txt
同样没有任何输出。在执行第二步git commit之前,我们再运行git status看看当前仓库的状态:
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: test.txt
git status告诉我们,将要被提交的修改包括readme.txt,下一步,就可以放心地提交了:
$ git commit -m "add good at line"
[master c90d9d5] add good at line
1 file changed, 1 insertion(+)
提交后,我们再用git status命令看看仓库的当前状态:
$ git status
On branch master
nothing to commit, working directory clean
Git告诉我们当前没有需要提交的修改,而且,工作目录是干净(working directory clean)的。
同样的我们使用SourceTree来实现上面的操作,
修改test2.txt文件,改为:
git is a good work helper.
I am good at git
打开SourceTree,切换到"文件状态",我们可以看到修改的文件test2.txt已经在未暂存列表中了,双击后,我们可以在右侧窗口看到修改文件的内容。GUI的优势就体现出来了,我们可以通过它,可以直观的看到我们当前工作区的状态。
在未暂存列表中,选中test2.txt文件,右键,选中添加。结果如下:
我们已经把文件test2.txt的改动添加到了暂存区,然后我们将暂存区的改动提交到版本库中。
然后我们的工作区就干净了!
小结一下:
在项目开发的过程中,我们要随时的跟踪工作区的状态,以便随时随时将工作区的改动提交到版本库。这节我们学习了如下两个命令
1、git status 查看工作区状态
2 、git diff 查看改动内容