如何更改Git日志日期格式

浏览 255关注 0回答 5得票数 176
原文

我试图在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]"
原文
Peter Mortensen修改于2018-07-20 04:18

5 个回答

高票数最新
webb
修改于2014-08-30 14:12
得票数 2
git log -n1 --format="Last committed item in this release was by %an, `git log -n1 --format=%at | awk '{print strftime("%y%m%d%H%M",$1)}'`, message: %s (%h) [%d]"
the Tin Man
修改于2016-12-08 04:04
得票数 37

我花了很长时间寻找一种方法,让git logYYYY-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'
Cheetah
回答于2014-04-12 11:47
得票数 11
date -d @$(git log -n1 --format="%at") +%Y%m%d%H%M

请注意,这将转换为您的本地时区,以防对您的用例很重要。

Peter Mortensen
修改于2018-07-20 04:26
得票数 2

使用Bash和date命令将类似ISO的格式转换为您想要的格式。我想要一个org-mode日期格式(和列表项),所以我这样做了:

echo + [$(date -d "$(git log --pretty=format:%ai -1)" +"%Y-%m-%d %a %H:%M")] \
    $(git log --pretty=format:"%h %s" --abbrev=12 -1)

例如,结果是:

+ [2015-09-13 Sun 22:44] 2b0ad02e6cec Merge pull request #72 from 3b/bug-1474631
SherylHohman
修改于2020-03-30 12:30
得票数 31

我需要同样的东西,并发现以下内容对我有效:

git log -n1 --pretty='format:%cd' --date=format:'%Y-%m-%d %H:%M:%S'

--date=format格式化日期输出,其中--pretty指示要打印的内容。

页面原文内容由ar3、Peter Mortensen、webb、Kissaki、Bruno Reis、the Tin Man、Penghe Geng、Paaske、chmac、Ivan Andrus、naught101、radistao、Cheetah、cagney、Liam、lac_dev、SherylHohman、Jim、amateur barista提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:https://stackoverflow.com/questions/7853332复制

扫码关注腾讯云开发者

领取腾讯云代金券