背景
git中分为三个区
- 工作区 working directory
- 暂存区 (stage 或者 index)
- 版本库 (commit history)
在工作区中修改了文件后,先用add加入到暂存区中,再用commit加入到版本库中。
git diff
命令 | 作用 |
---|---|
git diff | 查看有哪些改动还没有加入到暂存区中 |
git diff HEAD | 查看现在的工作区和上一个commit版本之间的差别 |
git diff --cached | 查看现在的暂存区和上一个commit版本之间的差别 |
如果只是想查看某一个文件在这三个区中的差别,在命令后加上文件名即可。
举例
现在有一个text.txt文件,内容如下:
first line
second line
修改text.txt文件,增加一行’third line’并用add添加入暂存区后,又对text.txt文件增加一行’forth line’。
- git diff
因为’third line’已经增加进缓存区,而’forth line’还没有,所以git diff会显示工作区相比暂存区增加了’forth line’: - git diff HEAD
上次的commit还停留在’second line’,所以git diff HEAD会显示工作区比上次commit增加了’third line’和’forth line’
- git diff --cached
因为’third line’已经增加进了暂存区,而上次的commit还停留在’second line’,所以git diff --cached会显示增加了’third line’