我需要git中的最后一个提交日期。这意味着我的程序中的最新更新日期。
我使用了命令:$ git log -1
但是这个命令将从本地存储库中获取日期。相反,我需要远程存储库的日期。
我尝试了一些命令如下。
git log -n 1 origin/Sprint-6.
git rev-parse --verify HEAD
答案 0 :(得分:64)
以下命令将有所帮助:
git log -1 --format=%cd
这将打印一个文件的最新更改日期。 -1表示一个日志条目(最新的),--format=%cd
表示提交日期。
有关选项的完整说明,请参阅git-log的文档。
答案 1 :(得分:6)
使用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冲击了服务器,可能有一种更有效的方法,可以从存储库中以json的形式仅获取一条信息。他们的其余API。如果必须的话,可以安排每天一次的git pull,然后只使用git log -1
命令,该命令只在本地显示。
答案 2 :(得分:0)
git log -1 --format=%ct
1605103148
注意:您可以访问git-log文档以获取有关这些选项的更详细说明。