如何从 git 存储库获取最后提交日期?

我需要 git 中的最后一个提交日期。这意味着我的程序中的最新更新日期。

我使用了这个命令: $git log -1,但是这个命令将提供来自本地存储库的日期。相反,我需要从远程存储库的日期。

我试了下面的一些命令。

git log -n 1 origin/Sprint-6.
git rev-parse --verify HEAD
65746 次浏览

The following command will be helpful:

git log -1 --format=%cd

This will print the latest change date for one file. The -1 shows one log entry (the most recent), and --format=%cd shows the commit date. See the documentation for git-log for a full description of the options.

Get the last commit date:

You want the "repository wide last commit date for a given git user and git project, for a given branch. For example the date is shown at the top when you visit your repo and go to commits -> master for example:

https://github.com/sentientmachine/TeslaAverageGainByMonthWeekDay/commits/master

Get the last local commit date in git using terminal

Use git help log for more info on format codes to pass to --format to tell git log what kind of data to fetch.

The last commit date in git:

git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 07:40:52

But as you pointed out, you have to run that command on the machine that performed the last commit. If the last commit date was performed on another machine, the above command only reports local last commit... So:

Or Repository wide: Get the last git commit date

Same as above, but do a git pull first

git pull;
git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 09:15:10

Or use the JSON API:

Doing git pulls is very slow and you're banging GitHub with a heavy operation. Just query the GitHub rest api:

#assuming you're using github and your project URL is visible to public:
# https://github.com/yourusername/your_repo_name


#then do:
curl https://api.github.com/repos/yourusername/your_repo_name/commits/master

That blasts you in the face with a screen full of json, so send it your favorite json parser and get the field called date:

curl https://api.github.com/repos/<your_name>/<your_repo>/commits/master 2>&1 | \
grep '"date"' | tail -n 1
#prints "date": "2019-06-05T14:38:19Z"

From comments below, gedge has handy dandy improvements to incantations:

git log -1 --date=format:"%Y/%m/%d %T" --format="%ad"
2019/11/13 15:25:44

Or even simpler: ( https://git-scm.com/docs/git-log/1.8.0 )

git --no-pager log -1 --format="%ai"
2019-12-13 09:08:38 -0500

Your choices are north, south, east, and "Dennis".

To get the last commit date from git repository in a long(Unix epoch timestamp)

  • Command: git log -1 --format=%ct
  • Result: 1605103148

Note: You can visit the git-log documentation to get a more detailed description of the options.

git log -1 will give you the Merge id, Author and Date

git log -1 --format=%cd will give the output as below

Wed Apr 13 15:32:54 2022 +0530

We can format the date as below: git log -1 --pretty='format:%cd' --date=format:'%Y-%m-%d %H:%M:%S'

output 2022-04-13 15:32:54

Late to the party but here's how to get the UNIX timestamp of the latest remote commit:

git log -1 --date=raw origin/master | grep ^Date | tr -s ' ' | cut -d ' ' -f2

Another oneliner for Linux, get UTC ISO 8601 time formatted up to the minutes:

TZ=utc date -d @$(git log -1 --format=%ct) --iso-8601=m

Gives 2022-12-07T10:01+00:00