摘要:git diff
git diff
使用场景:在干净的工作区修改了一个文件,过了一会忘记了修改了哪部分;
详解:此命令比较的是工作目录(Working tree)和暂存区域快照(index)之间的差异,也就是修改之后还没有暂存起来的变化内容。;
TIPS:比较的时候是比较工作区和暂存区,如果把修改git add了以后再git diff,就没有了;
git diff –cached
git diff –staged
查看已经暂存起来的文件(staged)和上次提交时的快照之间(HEAD)的差异;
就是说查看的是暂存区和本地仓库之间的差异;
git diff HEAD
显示工作版本(Working tree)和HEAD的差别;
TIPS:这里的HEAD就是本地仓库那个commit id(SHA1计算过的一个串);
git diff HEAD - - index.html
说明:HEAD 和 index.html顺序不能颠倒;
更多关于git diff 可以参考:这里
git reflog
使用场景:查看之前的commit id,以方便随便git reset
git reset - -hard commit_id
说明:版本回退
git reset - -hard HEAD^
git reset - -hard HEAD^^
git reset - -hard HEAD~100
git 暂存区(stage/index)
git add是把工作区的修改添加到暂存区
git commit也是提交的是修改
git 跟踪管理的是修改,而不是文件
git checkout - - file
丢弃工作区的修改;
让这个文件回到最近一次git commit或git add时的状态。
git reset HEAD file
把暂存区的修改撤销掉,重新放回工作区;