Git学习第七课 查看已暂存和未暂存的更新(git diff)

简介: 使用git status命令可以查看文件的状态。但是,显示出来的文件信息并不是特别详细。我们想要查看更加详细的文件状态信息,可以使用命令git diff。

使用git status命令可以查看文件的状态。但是,显示出来的文件信息并不是特别详细。我们想要查看更加详细的文件状态信息,可以使用命令git diff。
git diff命令可以帮助我们得知当前做的哪些更新还没有暂存?有哪些更新已经暂存起来准备好了下次提交? git diff 会使用文件补丁的格式显示具体添加和删除的行。
我们修改test.txt文件之后,保存。然后运行命令 git status.


img_fbf0546c02534b25f84d20d3661b995a.png
image.png

这里的test.txt没有被加入到跟踪区域,显示为红色已经修改的状态。系统提示我们要先添加到暂存区才能提交。
接下来,我们运行git diff 命令。


img_e83ad71e6d9106e4d2586b0b21ec2933.png
image.png

此时,我们发现,diff命令给我们列出了我们这一次修改的文件名,文件内容。

注意,注意,注意

git diff
此命令比较的是工作目录中 当前文件 和 暂存区域快照 之间的差异,也就是修改之后还没有暂存起来的变化内容。

若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached 命令。(Git 1.6.1 及更高版本还允许使用 git diff --staged,效果是相同的,但更好记些。)来看看实际的效果。

我们先不暂存该文件,执行命令看看。


img_080e694705ca31b26be44991ea30113f.png
image.png

发现没有任何输出。因为现在没有任何暂存文件。
我们执行命令add,把test.txt添加到暂存区域。


img_679b5835df4260355945bc683ca855ac.png
image.png

然后再次执行git diff --cached命令,输出结果如下:


img_9aa0ec00e3dbf032e8425efa8559f05d.png
image.png

现在 test.txt已经添加到了暂存区,该命令比较的是暂存区和上一次提交快照之间的差异。上一次提交的快照中并没有添加
2017-11-10 添加
这句话。

git diff --cached 列出了暂存区的文件和上一次提交的文件之间的变化。

我们再次编辑test.txt文件,再添加一行:
123456
使用命令 git status看看结果:


img_678d15e17d8a44e1ce1812450e03e788.png
image.png

我们看到了暂存前后的两个版本。
运行命令git diff --cached,输出结果:


img_12937b2b86bc0bc943dfd7e1b91e14a0.png
image.png

并没有发现新添加的一行
123456
这是为什么呢?
前面已经讲过了,git diff --cached 是比较已经暂存区域和上一次提交的文件变化。这一次的改变并没有被添加到跟踪,所以看不到新的文件内容。
我们再次执行命令add


img_c31ff0cc14c833b5f9c17a6623582c08.png
image.png

重新执行 git diff --cached 命令:


img_bcb6f6e5f9081c367b26808e2d355b3c.png
image.png

现在就可以看到了本次修改的内容了。

总结:
1、每修改一次文件,要想比较暂存区和上次提交的变化,都要执行 add命令。
2、git status 命令是查看文件的状态。已暂存的文件和未暂存文件都能看到状态。但是不能看到修改的内容。
3、git diff命令可以看到文件的修改的内容。比较的是未暂存的文件的修改前后的变化。
4、git diff --cached 也可以看到文件修改的内容变化,比较的是已经暂存的文件和上次提交的变化。

大家明白了吗?
祝开心。

目录
相关文章
|
6月前
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
520 0
|
2月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
130 0
|
2月前
|
开发工具 git
git暂存
git暂存
14 0
git暂存
|
3月前
|
缓存 数据可视化 开发工具
学习 Git,看这一篇就够了!(下)
学习 Git,看这一篇就够了!(下)
|
3月前
|
存储 Linux Shell
学习 Git,看这一篇就够了!(上)
学习 Git,看这一篇就够了!(上)
|
4月前
|
缓存 开发工具 数据安全/隐私保护
git-学习git,这一篇就足够了(初学者视角实战教程)
git-学习git,这一篇就足够了(初学者视角实战教程)
127 0
|
4月前
|
安全 开发工具 git
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(二)
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(二)
38 0
|
4月前
|
开发工具 git
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(一)
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典
30 0
|
4月前
|
Java Linux 开发工具
阿里云git仓库学习
阿里云git仓库学习
90 1
|
6月前
|
网络安全 开发工具 git
Git基础学习
Git基础学习
34 0

热门文章

最新文章

相关实验场景

更多