当我们所有的文件到了暂存区其实我们考虑是否真的需要提交commit所以今天我们来比较暂存区和HEAD
我们先随便修改下文件然后add查看状态
git status
image.png
git add readmeChange.md
git status
image.png
接下来我们可以来比较暂存区和HEAD的差异
git diff --cached
看到我们在md文件里添加了一行数字
image.png所以暂存区的作用解出来了当我们不想commit的时候我们可以diff超出区别并修改然后可以放心commit
git commit -m 'update reame file'
当我们修改了文件的时候其实是在工作区我们当然也可以比较工作区与暂存区的区别
git diff
image.png
或者具体文件差异
git diff -- readme.md
当然我们也可以恢复暂存区跟HEAD一样
如果我们修改了一个文件在暂存区
显示是这样的
image.png恢复到HEAD
git reset HEAD
接下来用之前学到的比较暂存区与HEAD区别
结果显示没有
image.png我们也可以恢复工作区跟暂存区一样
我们先add到暂存区然后任意修改工作区
此时我们比较工作区与暂存区
git diff
image.png
我们查看status发现工作区暂存区HEAD都不一样
image.png注意:我们需要改变工作区使用checkout 需要改变暂存区用reset
所以我们恢复工作区跟暂存区一样
git checkout readmeChange.md
此时我们再比较就已经一样了
image.png如果说我们想回滚版本的话我们可以用 reset --hard
注意: 慎用 之前的commit都没有了
git reset -- hard d12ae6d3ec41c9824c8becc5ea8
比较不同分支的区别
git diff master daye_2
image.png
网友评论