git diff命令
如果想要知道变更的具体内容,可以使用git diff
命令。它被用来解决两个问题:
- 哪些变更还没有被暂存?
- 那些已暂存的变更正待提价?
git diff
在git status
基础上,显示出了你具体添加和删除了哪些行。
我们现在为main.c加入一行新语句,并提交到暂存区,然后修改这一行保存,但不提交到暂存区
$ git add main.c
查看尚未添加到暂存区的变更
直接输入不带参数的git diff
$ git diff
diff --git a/main.c b/main.c
index 7440538..a865187 100644
--- a/main.c
+++ b/main.c
@@ -1 +1 @@
-Add a new line for main.c
\ No newline at end of file
+Modify the first line of main.c
可以看到详细的信息,main.c中把“Add a new line for main.c”变成“Modify the first line of main.c”的更改还没有暂存
查看进入下一次提交的暂存内容
git diff --staged
命令,会将暂存的内容与上一次提交的内容作比较
$ git diff --staged
diff --git a/main.c b/main.c
index e69de29..7440538 100644
--- a/main.c
+++ b/main.c
@@ -0,0 +1 @@
+Add a new line for main.c
\ No newline at end of file
可以看到,最开始向main.c中加入“Add a new line for main.c”这句话的变更正在暂存区中等待进入下一次提交。
注意:git diff
只会显示出还没有进入暂存区的变更。如果所有的变更都进入了暂存区,则不会有任何输出
$ git add main.c
$ git diff