对比git diff命令之前,我们先新建一个test.txt文本,先后执行如下命令
# 第一次编辑文本,新增第一行内容
first content.
# 执行git命令-提交到版本库
$ git add test.txt
$ git commit -m "first submit"
# 第二次编辑文本,新增第二行内容
second, Submit to staging only.
# 执行git命令-添加到暂存区,不提交版本库
$ git add test.txt
# 第三次编辑文本,新增第三行内容
Uncommitted workspace content.
git diff : 对比工作区(未 git add)和暂存区(git add 之后)
$ git diff -- test.txt
git diff --cached: 对比暂存区(git add 之后)和版本库(git commit 之后)
$ git diff --cached -- test.txt
git diff HEAD: 对比工作区(未 git add)和版本库(git commit 之后)
$ git diff HEAD -- test.txt
最后通过一张图片了解下工作区,暂存区,版本库三者之间的区别
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。