首页 > 解决方案 > 使用 git rev-list --oneline 时如何显示提交日期?

问题描述

我正在尝试获取分支的提交 + 提交日期列表:

git rev-list --oneline --first-parent --date=short --reverse HEAD

文档中,显示日期需要--pretty格式,它输出多行。--oneline使用该选项时如何显示提交日期?

标签: git

解决方案


Git 提供了多种格式化选项,您可以将这些选项传递给pretty命令以挑选出您想要显示的提交的不同部分

例如,如果您只想获取缩短的提交哈希(完整提交哈希为 %H),您可以使用:

git rev-list --pretty='format:%h' HEAD

添加提交主题:

git rev-list --pretty='format:%h %s' HEAD

和缩短的日期:

git rev-list --pretty='format:%h %s %ad' --date=short HEAD

如果您愿意,还可以添加一些漂亮的颜色格式:

git rev-list --pretty='format:%C(auto)%h %s %ad' --date=short HEAD

所有这些都只是 C 样式的字符串格式,因此您可以根据需要添加管道或逗号:

git rev-list --pretty='format:%C(auto)%h | %s | %ad' --date=short HEAD

要删除包含完整提交哈希的中间行,您可以将输出通过管道传输到 sed/awk:

git rev-list --pretty='format:%C(auto)%h | %s | %ad' --first-parent --reverse --date=short HEAD | awk 'NR%2==0'


推荐阅读