我试图在Git中显示最后一次提交,但我需要特殊格式的日期。
我知道log pretty format %ad
支持--date
格式,但我能找到的唯一--date
格式是"short“。我想知道其他的,以及我是否可以创建一个自定义的,例如:
git -n 1 --date=**YYMMDDHHmm** --pretty=format:"Last committed item in this release was by %%an, %%aD, message: %%s(%%h)[%%d]"
发布于 2013-05-24 21:20:03
我花了很长时间寻找一种方法,让git log
以YYYY-MM-DD
格式输出日期,这种格式在less
中也适用,我想出了以下格式:
%ad%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08
以及交换机--date=iso
。
这将打印ISO格式的日期(较长的日期),然后打印14次退格符(0x08),在我的终端中,这有效地删除了YYYY-MM-DD部分之后的所有内容。例如:
git log --date=iso --pretty=format:'%ad%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%aN %s'
这给出了类似的结果:
2013-05-24 bruno This is the message of the latest commit.
2013-05-22 bruno This is an older commit.
...
我所做的是创建了一个名为l
的别名,并对上面的格式进行了一些调整。它在左侧显示提交图,然后是提交的散列,然后是日期、短名称、引用名称和主题。别名如下(在~/.gitconfig中):
[alias]
l = log --date-order --date=iso --graph --full-history --all --pretty=format:'%x08%x09%C(red)%h %C(cyan)%ad%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08%x08 %C(bold blue)%aN%C(reset)%C(bold yellow)%d %C(reset)%s'
发布于 2016-09-06 08:49:59
我需要同样的东西,并发现以下内容对我有效:
git log -n1 --pretty='format:%cd' --date=format:'%Y-%m-%d %H:%M:%S'
--date=format
格式化日期输出,其中--pretty
指示要打印的内容。
发布于 2014-04-12 11:47:17
date -d @$(git log -n1 --format="%at") +%Y%m%d%H%M
请注意,这将转换为您的本地时区,以防对您的用例很重要。
https://stackoverflow.com/questions/7853332
复制相似问题