如何检查最近执行的`git pull`的date和时间?
如何检查执行的最新git pull
的date和时间? 当出现问题时,我经常需要知道服务器上的代码何时更改。
git show
命令显示最近提交的date。 这不是提交到本地存储库的date,但Git不保留这样的提取信息。
您可以使用服务器上文件的ctime(创build时间)来查找最后一次拉取的时间。 例如:
ls -lct
显示每个文件的ctime,按照最近的第一个sorting。
stat -c %Y .git/FETCH_HEAD
会给你一个该文件的最后修改的Unix时间戳。 即使没有任何东西需要拉动,Git也会在每次抓取或抓取时写入FETCH_HEAD文件。
在预感上,我尝试了“stat -c%ygit / FETCH_HEAD”,并得到了一个可读的时间打印输出:
> stat -c %y .git/FETCH_HEAD 2015-02-24 17:42:08.072094410 -0500
另外,你可以在〜/ .gitconfig文件中添加when = !stat -c %y .git/FETCH_HEAD
到[alias]
部分(通过在任何git仓库中运行下面的命令行,这是最安全的)
git config --global alias.when '!stat -c %y .git/FETCH_HEAD'
然后你可以随时用新的“命令”find这个信息:
> git when 2015-02-23 15:07:53.086254218 -0500
[那么,我发现做“人的统计”,我发现“统计”程序有一堆其他%参数可用。 因人而异。]
在一个非裸仓库(和一个裸仓库没有意义的git pull
),gitlogging所有更改分支提示和当前分支的想法在“reflogs”,在.git/logs
。 你可以使用git log -g
查看这些。
但是,虽然日志文件确实有时间戳,但是不会显示git log -g
会打印它。 然而,如果你看一下.git/logs/HEAD
,你会发现这个格式的parsing非常简单,它包括ref(或者HEAD)从哪里改变,改成谁,谁改变它,何时和活动消息。
使用python: python -c "import os;print os.stat('.git/FETCH_HEAD').st_mtime"