下载初始化仓库
一:使用短的SHA-1值,看单一commit对象 以及查找分支指向的commit的SHA-1值
$ git log
![](https://img.haomeiwen.com/i2995088/f7faa79cd9f422d9.png)
$ git show c13a95
$ git show c13a954827345b01eec8bd29d462e239b0bde176
![](https://img.haomeiwen.com/i2995088/2a40e96378b9d4ad.png)
$ git log --abbrev-commit --pretty=oneline
![](https://img.haomeiwen.com/i2995088/f3093306a21fe48a.png)
$ git show master
$ git show c13a954827345b01eec8bd29d462e239b0bde176
![](https://img.haomeiwen.com/i2995088/c6a5f0c5f8bc0e3b.png)
$ git rev-parse master
$ git rev-parse HEAD
![](https://img.haomeiwen.com/i2995088/990706ab70a0bed0.png)
$ git reflog
![](https://img.haomeiwen.com/i2995088/f7b967a1323c3a68.png)
$ git checkout -b test
$ git checkout master
![](https://img.haomeiwen.com/i2995088/8f8099ce32f93bee.png)
![](https://img.haomeiwen.com/i2995088/a8b34573b7f1ec9f.png)
$ git log --abbrev-commit --pretty=oneline --all --decorate --graph
![](https://img.haomeiwen.com/i2995088/a86feb3529ca5869.png)
$ git reflog
![](https://img.haomeiwen.com/i2995088/aec1e961170fe64d.png)
$ git show HEAD@{2}
![](https://img.haomeiwen.com/i2995088/55227492e848017d.png)
$ git log -g
![](https://img.haomeiwen.com/i2995088/ba863944207029de.png)
$ git show master@{yesterday}
![](https://img.haomeiwen.com/i2995088/501080a8403f53af.png)
$ git show HEAD@{1.hours.ago}
$ git show master@{1.hours.ago}
![](https://img.haomeiwen.com/i2995088/8966752679d62984.png)
$ git show test@{3.hours.ago}
![](https://img.haomeiwen.com/i2995088/8e0be648a6145e9e.png)
二:查看祖先commit信息,已对仓库进行一些修改,下载仓库
$ git log --abbrev-commit --pretty=oneline --all --decorate --graph
![](https://img.haomeiwen.com/i2995088/053e75e0a340a0bf.png)
$ git show HEAD^
![](https://img.haomeiwen.com/i2995088/90097b9ec5fa061d.png)
$ git show fff1455^
![](https://img.haomeiwen.com/i2995088/4e6811116247e1d7.png)
$ git show fff1455^2
![](https://img.haomeiwen.com/i2995088/b9f9fe78b407cca0.png)
$ git show HEAD~
$ git show HEAD^
![](https://img.haomeiwen.com/i2995088/8471ca20b699da09.png)
$ git show HEAD~3
$ git show HEAD^^^
![](https://img.haomeiwen.com/i2995088/b3f2485564dff371.png)
$ git show HEAD~^2
![](https://img.haomeiwen.com/i2995088/053e75e0a340a0bf.png)
![](https://img.haomeiwen.com/i2995088/e83529409d65c562.png)
$ git show HEAD~^
$ git show HEAD~~
$ git show HEAD^^
![](https://img.haomeiwen.com/i2995088/66c1c021f94b1aa9.png)
查找某个范围内的commit对象
![](https://img.haomeiwen.com/i2995088/1d80bea3ec145441.png)
两个点,表示查看
experiment
上还没有合并到master
的commit,换句话说:所有experiment
能读取到但master
读取不到的commit对象
$ git log master..experiment
D
C
反过来就是E、F这两个master
分支上的还没有合并到experiment
的commit对象
$ git log experiment..master
F
E
所以,下面就是HEAD
本地还没有推送到服务器的commit对象啦
$ git log origin/master..HEAD
符号..
的两边有一边缺失,Git会自动用HEAD
代替
git log origin/master..
再下载一下仓库
$ git log --abbrev-commit --pretty=oneline --all --decorate --graph
![](https://img.haomeiwen.com/i2995088/0297801e735e0255.png)
$ git log master..test
$ git log ^master test
$ git log test --not master
![](https://img.haomeiwen.com/i2995088/e1734a8f4cfb4220.png)
$ git log test master --not experiment
$ git log test master ^experiment
![](https://img.haomeiwen.com/i2995088/628e5b901ab942a3.png)
$ git log test...master
![](https://img.haomeiwen.com/i2995088/69c86f1b2aab499b.png)
$ git log --left-right test...master
![](https://img.haomeiwen.com/i2995088/1c0d65dcc9510328.png)
网友评论