git学习笔记(九)--git的历史查询

这部分简要总结一下git中查询使用的几个命令:

 

1.git rev-parse命令


git rev-parse是一个底层命令,主要用于显示,功能非常多,后面可以带很多参数,例如:

显示分支  git rev-parse --symbolic --branches

显示里程碑 git rev-parse --symbolic --tags

但是最常用的功能就是将一个git对象或者对象表达式转换成其对应的SHA1哈希值。

为了方便,先设置了一下别名: git config --golbal alias.rp rev-parse

  1. git rp HAED  //显示HEAD对应的哈希值
  2. git rp master //显示master分支指向的当前提交的ID
  3. git rp A    //这里A是tag,显示tag对象的ID,注意是对象,tagA实际指向的是一个tag对象而非提交
  4. git rp A^0   //显示A所指向的提交的ID
  5. git rp A^1 B^0  //A的第一个父提交就是B的提交,假设AB都是tag且有先后顺序
  6. git rp A^{tree}  //显示A对应的树的ID

 

2. git rev-list命令:


 

rev-list命令用于研究git各种版本范围,根据某个tag或者提交来追踪其历史渊源,用于分析版本的内部结构

假设已经有tag :A,B,C,D,E,F,G  设置了别名rl == rev-list

  1. git rl A        //一个提交ID代表一个版本列表,显示该版本的所有历史提交
  2. git rl ^G D       //符号(^)表示排除这个版本及其历史版本,这里表示列出D版本历史,并不显示其中涉及的G版本的内容
  3. git rl B..C          //相当于git ^B C
  4. git rl C..B          //相当于git ^C B
  5. git rl B^@        //排除自身,只显示其历史
  6. git rl B^!         //排除其历史,只显示自身

 

 

3. git log命令:


 

1. git log命令后面可以接表示版本范围的参数,比如上述的 F^! 或者^F,当不适用任何参数时候,默认为使用了HEAD

2. git log分支图显示参数: --graph    例如,git log --graph master

3. git log显示最近几条日志的参数: -n   例如,git log -3 master

4. git log显示每次提交的变更参数:--stat  例如,git log --stat I..C

5. git log的输出定制:

  ① --pretty=raw  //显示commit的原始数据,包括tree ID

  ② --pretty=fuller //同时显示作者名和提交者名

  ③ --pretty=online //显示最精简的日志输出

6. git log查看分析某一个提交(上述参数可以根据需要添加):

  ① git show ID

  ② git cat-file ID   

 

 

 

 

 

 

 

 

posted on 2012-07-25 11:08  melburg  阅读(917)  评论(0)    收藏  举报