我需要git中的最后一次提交日期。这意味着我的程序中的最新更新日期。我用了命令:$git log -1但是这个命令会给予我本地仓库的日期。我需要的是远程仓库的日期。我尝试了如下一些命令。
git log -1
git log -n 1 origin/Sprint-6. git rev-parse --verify HEAD
vxqlmq5t1#
以下命令将很有用:
git log -1 --format=%cd
这将打印一个文件的最新更改日期。-1显示一个日志条目(最近的),--format=%cd显示提交日期。有关选项的完整说明,请参阅git-log的文档。
--format=%cd
pbgvytdp2#
你需要一个给定的git用户和git项目,一个给定的分支的“仓库范围内的最后提交日期。例如,当你访问仓库并进入commits -> master时,该日期会显示在顶部,例如:https://github.com/sentientmachine/TeslaAverageGainByMonthWeekDay/commits/master
commits -> master
使用git help log获取更多关于传递给--format的格式代码的信息,以告诉git log要获取哪种类型的数据。git中的上次提交日期:
git help log
--format
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 s非常慢,而且你会在GitHub上进行大量的操作。只需查询GitHub的rest API:
git pull
#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的字段:
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对咒语有了很好的改进:
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
你的选择是北、南、东和“丹尼斯”。
8i9zcol23#
*命令:git log -1 --format=%ct*结果:1605103148**注:**您可以访问git-log文档以获得有关这些选项得更详细说明.
git log -1 --format=%ct
1605103148
tyg4sfes4#
虽然有点晚了,但下面介绍如何获取最新远程提交的UNIX时间戳:
git log -1 --date=raw origin/master | grep ^Date | tr -s ' ' | cut -d ' ' -f2
odopli945#
我们可以将日期格式设置为:git日志-1 --漂亮='格式:%cd' --日期=格式:' %Y-%m-%d %H:%M:%S'输出2022年4月13日15:32:54
juzqafwq6#
另一个Linux的一行程序,获取UTC ISO 8601时间,格式为分钟:TZ=utc date -d @$(git log -1 --format=%ct) --iso-8601=m提供2022-12-07T10:01+00:00
TZ=utc date -d @$(git log -1 --format=%ct) --iso-8601=m
2022-12-07T10:01+00:00
6条答案
按热度按时间vxqlmq5t1#
以下命令将很有用:
这将打印一个文件的最新更改日期。-1显示一个日志条目(最近的),
--format=%cd
显示提交日期。有关选项的完整说明,请参阅git-log的文档。pbgvytdp2#
获取上次提交日期:
你需要一个给定的git用户和git项目,一个给定的分支的“仓库范围内的最后提交日期。例如,当你访问仓库并进入
commits -> master
时,该日期会显示在顶部,例如:https://github.com/sentientmachine/TeslaAverageGainByMonthWeekDay/commits/master
使用终端机取得git中的上次本机认可日期
使用
git help log
获取更多关于传递给--format
的格式代码的信息,以告诉git log要获取哪种类型的数据。git中的上次提交日期:
但是正如您所指出的,您必须在执行最后一次提交的机器上运行该命令。如果最后一次提交的日期是在另一台机器上执行的,则上面的命令只报告本地的最后一次提交...所以:
或存储库范围:获取上次Git提交日期
同上,但先进行git pull
或者使用JSON API:
执行
git pull
s非常慢,而且你会在GitHub上进行大量的操作。只需查询GitHub的rest API:这会让您看到一个充满json的屏幕,因此请将您最喜欢的json解析器发送给它,并获取名为
date
的字段:从下面的评论来看,
gedge
对咒语有了很好的改进:或者更简单:(https://git-scm.com/docs/git-log/1.8.0)
你的选择是北、南、东和“丹尼斯”。
8i9zcol23#
要从git仓库中获取上次提交日期,请使用long(Unix纪元时间戳)
*命令:
git log -1 --format=%ct
*结果:
1605103148
**注:**您可以访问git-log文档以获得有关这些选项得更详细说明.
tyg4sfes4#
虽然有点晚了,但下面介绍如何获取最新远程提交的UNIX时间戳:
odopli945#
2022年4月13日星期三15:32:54 +0530
我们可以将日期格式设置为:git日志-1 --漂亮='格式:%cd' --日期=格式:' %Y-%m-%d %H:%M:%S'
输出2022年4月13日15:32:54
juzqafwq6#
另一个Linux的一行程序,获取UTC ISO 8601时间,格式为分钟:
TZ=utc date -d @$(git log -1 --format=%ct) --iso-8601=m
提供
2022-12-07T10:01+00:00