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

时间:2014-08-29 07:22:17

标签: git git-commit

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

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

我尝试了一些命令如下。

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

3 个答案:

答案 0 :(得分:64)

以下命令将有所帮助:

git log -1 --format=%cd 

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

答案 1 :(得分:6)

获取git中的最新本地提交日期

使用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中的最后一个全局提交日期-存储库范围

与上述相同,但首先进行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冲击了服务器,可能有一种更有效的方法,可以从存储库中以json的形式仅获取一条信息。他们的其余API。如果必须的话,可以安排每天一次的git pull,然后只使用git log -1命令,该命令只在本地显示。

答案 2 :(得分:0)

要从git存储库中获取较长的提交日期(Unix纪元时间戳)

  • 命令: git log -1 --format=%ct
  • 结果: 1605103148

注意:您可以访问git-log文档以获取有关这些选项的更详细说明。