git diff HEAD -- file,比较的是工作区中的文件与版本库中文件的差异。HEAD指向的是版本库中的当前版本,而file指的是当前工作区中的文件。所以老师的那个命令查看的是工作区进行了二次修改的文件(未提交)和版本库文件(已经提交了的第一次文件)进行比较。所以是提交的第一次修改的文件,但是git diff比较的是未提交的第二次修改的文件和已提交的第一次修改的文件。可以看看这个:https://blog.csdn.net/u013485584/article/details/53303858
我是这样实验的:
首先,在英文后加一个数字1
git tracks changes 1
之后,
git add README.md
然后再修改1为2,即
git tracks changes 2
,然后
git commit -m "1"
git status
显示的是:
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
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: README.md
no changes added to commit (use "git add" and/or "git commit -a")
反映的是README.md被修改了(上一节的内容)
这里指的是第二次修改,然后执行:
git diff HEAD -- README.md
显示:
diff --git a/README.md b/README.md
index 6642af0..acc9bf4 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
### Just github learn
第一次尝试
-git tracks changes 1
\ No newline at end of file
+git tracks changes 2
\ No newline at end of file
Starry_night_y
git diff HEAD -- file,比较的是工作区中的文件与版本库中文件的差异。HEAD指向的是版本库中的当前版本,而file指的是当前工作区中的文件。所以老师的那个命令查看的是工作区进行了二次修改的文件(未提交)和版本库文件(已经提交了的第一次文件)进行比较。所以是提交的第一次修改的文件,但是git diff比较的是未提交的第二次修改的文件和已提交的第一次修改的文件。可以看看这个:https://blog.csdn.net/u013485584/article/details/53303858 我是这样实验的: 首先,在英文后加一个数字1
之后,
然后再修改1为2,即
,然后
显示的是:
反映的是README.md被修改了(上一节的内容) 这里指的是第二次修改,然后执行:
显示:
这里说明了没提交的git tracks changes 2和已经提交的git tracks changes 1之间的区别。 这时候,执行
在github上面可以看到,显示的是git tracks changes 1 说明commit的文件就是第一次add的文件。 现在,第二次修改的还在工作区,那么我们执行:
返回GitHub上面看,提交成功了,显示为git tracks changes 2
有错误的理解,请指正,谢谢。