如何从git存储库中获取上次提交日期?

如何从git存储库中获取上次提交日期?,git,git-commit,Git,Git Commit,我需要git中的最后提交日期。这意味着我的程序中的最新更新日期 我使用了命令:$git log-1,但是这个命令将给出本地存储库中的日期。相反,我需要来自远程存储库的数据 我尝试了以下命令 git log -n 1 origin/Sprint-6. git rev-parse --verify HEAD 以下命令将非常有用: git log -1 --format=%cd 这将打印一个文件的最新更改日期。-1显示一个日志条目(最近的),而--format=%cd显示提交日期。 有关选项的完

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

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

我尝试了以下命令

git log -n 1 origin/Sprint-6.
git rev-parse --verify HEAD

以下命令将非常有用:

git log -1 --format=%cd 
这将打印一个文件的最新更改日期。-1显示一个日志条目(最近的),而
--format=%cd
显示提交日期。 有关选项的完整说明,请参阅文档。

获取最后提交日期: 对于给定的git用户和git项目,对于给定的分支,您需要“存储库范围内的最后提交日期”

您所处的日期是您访问回购协议并转到
commissions->master
时显示的最新日期,例如:

页面顶部显示最新提交日期

使用终端获取git中的最后一个本地提交日期 有关要传递到
--format
的格式代码的更多信息,请使用
git帮助日志
,告知git日志要获取哪种数据

git中的最后提交日期:

git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 07:40:52
但正如您所指出的,您必须在执行上次提交的计算机上运行该命令。如果上次提交日期是在另一台计算机上执行的,则上述命令仅报告本地上次提交…因此:

或存储库范围:获取上次git提交日期 和上面一样,但是先做一个git拉动

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的JSON API: git按计划拉动并不酷,因为它很慢,而且你正在用不必要的网络流量冲击服务器。只需查询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
屏幕上满是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"
或者更简单:()

您可以选择北、南、东和“Dennis”。

以长时间(Unix纪元时间戳)从git存储库获取最后提交日期
  • 命令:
    git日志-1——格式=%ct
  • 结果:
    1605103148

注意:您可以访问文档以获得选项的更详细描述。

您可以始终使用
gitk--all
打开所有分支(包括远程分支)的树状视图。如何为远程存储库获取此信息?有点晚了,但对后代来说:要获取远程分支的最后更改,请添加“/“最后,例如,
git log-1--format=%cd origin/master
您还可以获取特定标记的最后提交日期:
git log-1--format=%cd tag
;使用
xargs
有什么特殊原因吗?我在想
date-d@`git log-1--format=“%at”`
将是一个更简洁的解决方案。我选择的
xargs
是google fu、guess and check和布朗运动的混合。您的解决方案似乎去除了不必要的洋葱层。对MacOSX来说,日期不同,不起作用。您可能需要使用
DT=`git log-1--format=“%at”`&&python-c”导入时间;打印(time.strftime(“%Y-%m-%d%H:%m:%S',time.localtime($DT))”
此osx命令需要更多层。也许你可以在mongodb中添加一个JavaScriptAJAX,这样就更适合webscale.sarcasm使用
xargs…date
?当这样做时:
git log-1--date=format:“%Y/%m/%d%T”--format=“%ad”
git log -1 --date=format:"%Y/%m/%d %T" --format="%ad"
2019/11/13 15:25:44
git --no-pager log -1 --format="%ai"
2019-12-13 09:08:38 -0500