git学习笔记(二)

git log --stat //--stat参数可以看到每次提交的文件变更统计

 

当前工作分支与版本库的头指针HEAD进行比较

git diff HEAD

因为 git add后,修改的文件都已经添加到缓冲区了,使用git diff 比较不出差异,使用git diff HEAD 才可以比较出差异,因为毕竟没有提交

 

撤出缓存区

git reset HEAD 文件名

 

清楚不打算要的修改

git checkout -- 文件名

简洁显示状态

git status -s

 

 

显示日志

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-treegit write-tree 将暂存区的目录树写入git对象库

git ls-tree -l <这里是执行git write-tree 命令后显示的SHA1查看暂存区目录树

 

 

 

 

 

递归操作显示暂存区目录树

git write-tree | xargs git ls-tree -l -r -t

 

保存当前工作进度

git stash

posted on 2013-10-26 22:08  c3tc3tc3t  阅读(289)  评论(0编辑  收藏  举报