Answers:
您可以使用--pretty=format
和%cr
相对于提交日期。
例如:
$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'
您可以在git中定义一个别名,以使其更易于使用。我的内容如下.gitconfig
:
[alias]
# see `git help log` for detailed help.
# %h: abbreviated commit hash
# %d: ref names, like the --decorate option of git-log(1)
# %cn: commiter name
# %ce: committer email
# %cr: committer date, relative
# %ci: committer date, ISO 8601-like format
# %an: author name
# %ae: author email
# %ar: author date, relative
# %ai: author date, ISO 8601-like format
# %s: subject
# my awesome git log replacement
lol = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration
在Linux或类似系统上,可以使用单引号'
而不是双引号"
:
[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'
这样,只需运行git lol
或其他变体即可看到漂亮的输出。
这是输出git lol --simplify-by-decoration
:
lol
比容易输入log
,而且听起来也更好。
git log
如果需要,还可以访问常规文件。这是git lold
带有ISO格式日期的输出。查看确切的提交日期/时间很有用,此外还可以轻松查看贡献者的时区。
编辑2020-06:添加了屏幕截图。更新为%C(auto)
对%h
(提交哈希)和%d
(引用名称)使用(自动/默认着色)。%cn
除了电子邮件外,还添加了(提交人姓名)。
git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\"
bash:意外令牌'('附近的语法错误
git show --pretty=fuller HEAD
举个例子)。对于本地开发,这些通常是相同的,但是对于通过电子邮件或其他机制添加的补丁,它们可能会有所不同,其中AuthorDate是补丁生成的日期,而CommitDate是实际将其应用于存储库的时间。