Other than parsing git log for the date string, is there a Git native way to report the date of a certain commit?
The show command may be what you want. Try
git show --no-patch --format=%ci <commit>
Other formats for the date string are available as well. Check the manual page for details.
log -1
instead of show
. –
Oraliaoralie git show -s --format="%ci" <commit>
–
Paphos %ai
. –
Resect repo git ls-tree -r --name-only HEAD
sent through a loop doesn't give me a specific date-time. –
Maund git show -s --format=%cd --date=short <commit>
(will give e.g. 2016-11-02) or git show -s --format=%cd --date=short <commit>
or git show -s --format=%cd --date=format:%Y <commit>
(this example will print only the year) For details see this answer. –
Ecklund log -1
rather than show -s
for large merge commits so I definitely recommend using log -1
if you are trying to find stale branches. This sped it up from hours to minutes in the case of the monorepo I'm working with right now. –
Michal git show -s --format=%ci
is what I wanted (for most recent commit) –
Allelomorph git show -s
variant will sometimes output some extra information beyond the date (Tagger: someone
and some log message), I don’t know if this is a bug in GIT or some intended behaviour, but git log -1
does not do this. –
Enthusiastic If you want to see only the date of a tag you'd do:
git show -s --format=%ci <mytagname>^{commit}
which gives: 2013-11-06 13:22:37 +0100
Or do:
git show -s --format=%ct <mytagname>^{commit}
which gives UNIX timestamp: 1383740557
If you like to have the timestamp without the timezone but local timezone do
git log -1 --format=%cd --date=local
Which gives this depending on your location
Mon Sep 28 12:07:37 2015
In case that you want to format the date (or hour) by yourself:
git show -s --date=format:'%Y%m%d-%H%M' --format=%cd <commit id | default is the last commit>
# example output:
20210712-1948
You can use the git show
command.
To get the last commit date from git repository in a long(Unix epoch timestamp):
- Command:
git show -s --format=%ct
- Result:
1605103148
Note: You can visit the git-show documentation to get a more detailed description of the options.
if you got troubles with windows cmd command and .bat just escape percents like that
git show -s --format=%%ct
The % character has a special meaning for command line parameters and FOR parameters. To treat a percent as a regular character, double it: %%
I know the question was asked a long time ago and I don't know which version of git this was.
For git version 2.37.3 the command
git show -s
will show the author date, not the commit date. To get the commit date of a commit use
git log -1 --format=fuller 'commit hash'
© 2022 - 2024 — McMap. All rights reserved.