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

使用git rev list--oneline时,如何显示提交日期?,git,Git,我正在尝试获取具有以下内容的分支的提交+提交日期列表: git rev-list --oneline --first-parent --date=short --reverse HEAD 从中,显示日期需要--pretty格式,该格式输出多行。使用--oneline选项时,如何显示提交日期?有点慢而且不理想,但您可以执行以下操作: git rev-list --oneline --first-parent --reverse HEAD | awk '{cmd="git show -s

我正在尝试获取具有以下内容的分支的提交+提交日期列表:

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

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

有点慢而且不理想,但您可以执行以下操作:

git rev-list --oneline --first-parent --reverse HEAD | awk '{cmd="git show -s --format=%ci "$1" | cat"; cmd | getline t; print $0 " " t}'
Git提供了可以传递到
pretty
命令来选择要显示的提交的不同部分

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

git版本列表--pretty='format:%h'HEAD

要添加提交主题,请执行以下操作:

git版本列表--pretty='格式:%h%s'头

缩短日期:

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

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

git rev list--pretty=”格式:%C(自动)%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'--第一个父级--反向--date=short HEAD | awk'NR%2==0'
使用
git log
代替:

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