How do I get last commit date from git repository?

随声附和 提交于 2019-12-02 21:45:57
love

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.

The date you're after is the latest date shown when you visit your repo and go to commits -> master for example:

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

The top of the page shows the latest commit date.

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 that 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 git's JSON API:

git pulls on a schedule aren't cool because it's slow and you're banging the server with unnecessary network traffic. Just query the git 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"
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!