使用git rev-list --oneline时如何显示提交日期?

时间:2020-07-30 15:29:25

标签: git

我正尝试通过以下方式获取分支的提交清单+提交日期:

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

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

3 个答案:

答案 0 :(得分:1)

改为使用git log

git log --oneline --first-parent --format="%h %cd" HEAD

答案 1 :(得分:0)

Kinda速度慢且不理想,但是您可以执行以下操作:

git rev-list --oneline --first-parent --reverse HEAD | awk '{cmd="git show -s --format=%ci "$1" | cat"; cmd | getline t; print $0 " " t}'

答案 2 :(得分:0)

Git提供了multiple formatting options,您可以传递给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'