git diff 与 git diff --cached与git diff HEAD -- file
git diff#是工作区(work dict)和暂存区(stage)的比较git diff –cached#是暂存区(stage)和分支(master)的比较stage或cache与虽说是暂存区,缓冲区,但commit并不是像想像那样把这个区清空,估计只是打个同步的标志,内容还在。git add是把工作区的更新提交到暂存区,git commit是把暂存区内容更新到仓库。所以经过a
·
- git diff #是工作区(work dict)和暂存区(stage)的比较
git diff –cached #是暂存区(stage)和分支(master)的比较
stage或cache与虽说是暂存区,缓冲区,但commit并不是像想像那样把这个区清空,估计只是打个同步的标志,内容还在。git add是把工作区的更新提交到暂存区,git commit是把暂存区内容更新到仓库。所以经过add, commit,修改再add,再修改,有可能会出现工作区、缓冲区、和仓库三者都不同。
使用:git diff 是你工作区跟statge的比较,这个时候可以看你开发过程中修改了哪些内容 git diff –cached 是看你stge区和仓库分支上的比较,你add后但是没有commit, 这个时候只是在stage中,可以确认下修改是否正确,如果正确无误可以commit合并到分支。
Git管理的是修改,一个文件经过了多次修改,但是如果不add到暂存区,那就不会加入到commit。
新增了一行,删除了一行,也是一个修改,更改了某些字符,也是一个修改,删了一些又加了一些,也是一个修改,创建一个新文件,也算一个修改,删除文件也可以是个修改。(更改.gitignore中的文件不是修改)。
git add命令只是把工作区当前的修改提交到暂存区中。
git commit一次将暂存区中的内容提交到版本库中。
为了防止工作区的修改没有被提交到暂存区中,或则查看工作区和暂存区之间的差异,可以使用git diff指令。
此外,还可以 git diff HEAD -- file
# 比较的是工作区中的文件与版本库中文件的差异。
更多推荐
已为社区贡献3条内容
所有评论(0)