提交日志
基本用法
# branch
git log master
# branch, remote
git log origin/master
# tag
git log v1.0.0
git log master develop
# reachable from master but not v2.0
git log v2.0..master
# reachable from master and v2.0, but not both
git log v2.0...master
基础过滤
-n, --max-count=2
--skip=2
--since="1 week ago"
--until="yesterday"
--author="Rico"
--committer="Rico"
查询
# in commit message
--grep="Merge pull request"
# in code
-S console.log
# in code (regex)
-G "foo.*"
限制
# no stuff from merged branches
--first-parent
--branches="feature/*"
--tags="v*"
--remotes="origin"
简化
git log -- app/file.rb # only file
--simplify-by-decoration # tags and branches
顺序
--date-order
--auther-date-order
--top-order
--reverse
格式化
--abbrev-commit
--online
--graph
格式
基本格式
commit 哈希
| Variable |
Description |
%H |
commit hash |
%h |
(abbrev) commit hash |
Tree 哈希
| Variable |
Description |
| %T |
tree hash |
| %t |
(abbrev) tree hash |
parent 哈希
s
| Variable |
Description |
| %P |
parent hash |
| %p |
(abbrev) parent hash |
commit
| Variable |
Description |
| %s |
commit subject |
| %f |
commit subject, filename style |
| %b |
commit body |
| — |
— |
| %d |
ref name |
| %e |
encoding |
auther and committer
| Variable |
Description |
| %an |
auther name |
| %aN |
auther name, respecting mailmap |
email
| Variable |
Description |
| %ae |
auther email |
| %aE |
auto email, respecting mailmap |
date
| Variable |
Description |
| %aD |
auther date (rfc2882) |
| %ar |
auther date (relative) |
| %at |
auther date (unix timestamp) |
| %ai |
auther date (iso8601) |
committer name
| Variable |
Description |
| %cn |
committer name |
| %cN |
committer name, respecting mailmap |
committer email
| Variable |
Description |
| %ce |
committer email |
| %cE |
committer email, respecting mailmap |
committer date
| Variable |
Description |
| %cD |
committer date (rfc2882) |
| %cr |
committer date (relative) |
| %ct |
committer date (unix timestamp) |
| %ci |
committer date (iso8601) |