我需要 git 中的最后提交日期。这意味着我的程序中的最新更新日期。
我使用了命令:$
git log -1
,但是这个命令会给我本地存储库中的日期。相反,我需要来自远程存储库的日期。
我尝试了如下一些命令。
git log -n 1 origin/Sprint-6.
git rev-parse --verify HEAD
您想要给定 git 用户和 git 项目、给定分支的“存储库范围的最后提交日期”。例如,当您访问存储库并转到
commits -> master
时,日期显示在顶部:
https://github.com/sentientmachine/TeslaAverageGainByMonthWeekDay/commits/master
使用
git help log
了解有关格式代码的更多信息,以传递给 --format
告诉 git log 要获取哪种数据。
git 中的最后提交日期:
git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 07:40:52
但正如您所指出的,您必须在执行上次提交的计算机上运行该命令。如果上次提交日期是在另一台机器上执行的,则上述命令仅报告本地上次提交...所以:
与上面相同,但先执行 git pull
git pull;
git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 09:15:10
做
git pull
的速度非常慢,而且你正在用繁重的操作敲击 GitHub。只需查询 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
屏幕上全是 json,这会让你大吃一惊,所以将你最喜欢的 json 解析器发送给它并获取名为
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"
gedge
对咒语进行了方便的改进:git log -1 --date=format:"%Y/%m/%d %T" --format="%ad"
2019/11/13 15:25:44
或者更简单:( https://git-scm.com/docs/git-log/1.8.0 )
git --no-pager log -1 --format="%ai"
2019-12-13 09:08:38 -0500
您的选择是北、南、东和“丹尼斯”。
git log -1 --format=%ct
1605103148
注意: 您可以访问 git-log 文档以获取更详细的选项说明。
git log -1
将为您提供合并 ID、作者和日期
git log -1 --format=%cd
输出:
Wed Apr 13 15:32:54 2022 +0530
我们可以将日期格式化如下:
git --no-pager log -1 --pretty='format:%cd' --date='format:%Y-%m-%d %H:%M:%S'
输出:
2022-04-13 15:32:54
另一个适用于 Linux 的 oneliner,获取 UTC ISO 8601 时间格式,精确到分钟:
TZ=utc date -d @$(git log -1 --format=%ct) --iso-8601=m
给予
2022-12-07T10:01+00:00
虽然迟到了,但以下是如何获取最新远程提交的 UNIX 时间戳:
git log -1 --date=raw origin/master | grep ^Date | tr -s ' ' | cut -d ' ' -f2
使用 git 版本 2.39.2 .
当我使用
~/.gitconfig
设置我的 showSignature = true
时,执行 git log -1 --format=%cI
将另外包含提交签名信息,例如
Good "git" signature for [email protected] with RSA key SHA256:abcd
2023-04-14T20:02:23+02:00
要删除提交签名信息,请添加
--no-show-signature
标志,例如git log --no-show-signature -1 --format=%cI
:
2023-04-14T20:02:23+02:00