git log --stat //--stat参数能够看到每次提交的文件变动统计git
当前工做分支与版本库的头指针HEAD进行比较缓存
git diff HEADspa
由于 git add后,修改的文件都已经添加到缓冲区了,使用git diff 比较不出差别,使用git diff HEAD 才能够比较出差别,由于毕竟没有提交指针
撤出缓存区日志
git reset HEAD 文件名对象
清楚不打算要的修改blog
git checkout -- 文件名递归
简洁显示状态it
git status -sio
显示日志
git log --pretty=oneline
两种状态区别
加入缓冲区以前
加入缓冲区以后
两个M位置不同
绿色的位于第一例的。表示版本库中与缓冲区的不同有改动
红色的位于第二列的.表示缓冲区的与当前工做目录的不同有改动
git diff 是工做区与缓冲区的差别
git diff HEAD 将工做区与当前分支作比较(当前分支也就是HEAD至关于版本库)
git diff --cached或者--staged 缓冲区和版本库作比较
git commit 提交是提交缓冲区的改变到版本库中
查看.git/index 显示时间戳
ls --full-time .git/index
git rm --cached <file> 会从暂存区删除文件。工做区不做出改变
git checkout . 或者 checkout -- <file>会用暂存区的文件或指定文件替换工做区的文件,这个操做很危险
git checkout HEAD . 或者git checkout HEAD <file> 会用HEAD指向的master分支中的所有或部分文件替换工做区和暂存区的文件,很危险
git ls-tree -l HEAD //查看HEAD目录树
-l 参数显示文件大小
git clean -fd
清除工做区当前没有加入版本库的文件和目录
git ls-files -s 显示暂存区目录树
想针对暂存区的目录树使用git ls-tree用git write-tree 将暂存区的目录树写入git对象库
git ls-tree -l <这里是执行git write-tree 命令后显示的SHA1码> 查看暂存区目录树
递归操做显示暂存区目录树
git write-tree | xargs git ls-tree -l -r -t
保存当前工做进度
git stash