下载初始化仓库
一:使用短的SHA-1值,看单一commit对象 以及查找分支指向的commit的SHA-1值
$ git log
$ git show c13a95
$ git show c13a954827345b01eec8bd29d462e239b0bde176
$ git log --abbrev-commit --pretty=oneline
$ git show master
$ git show c13a954827345b01eec8bd29d462e239b0bde176
$ git rev-parse master
$ git rev-parse HEAD
$ git reflog
$ git checkout -b test
$ git checkout master
$ git log --abbrev-commit --pretty=oneline --all --decorate --graph
$ git reflog
$ git show HEAD@{2}
$ git log -g
$ git show master@{yesterday}
$ git show HEAD@{1.hours.ago}
$ git show master@{1.hours.ago}
$ git show test@{3.hours.ago}
二:查看祖先commit信息,已对仓库进行一些修改,下载仓库
$ git log --abbrev-commit --pretty=oneline --all --decorate --graph
$ git show HEAD^
$ git show fff1455^
$ git show fff1455^2
$ git show HEAD~
$ git show HEAD^
$ git show HEAD~3
$ git show HEAD^^^
$ git show HEAD~^2
$ git show HEAD~^
$ git show HEAD~~
$ git show HEAD^^
查找某个范围内的commit对象
两个点,表示查看
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
$ git log master..test
$ git log ^master test
$ git log test --not master
$ git log test master --not experiment
$ git log test master ^experiment
$ git log test...master
$ git log --left-right test...master