【问题标题】:How to get the last commit date of a file with ruby/grit?如何使用 ruby​​/grit 获取文件的最后提交日期?
【发布时间】:2012-02-07 22:26:39
【问题描述】:

我有一个 jekyll 站点,我想使用 ruby​​/grit 查找某个帖子的最后提交日期。

我知道我可以使用 git 执行以下操作:

git log -1 --format="%cd" -- <file>

请问如何使用 ruby​​/grit 做一些等效的事情?

【问题讨论】:

  • 要继续,您应该向我们展示您尝试过的代码,以及您在运行它时收到的任何错误。

标签: ruby git jekyll grit


【解决方案1】:

你可以这样做:

repo = Grit::Repo.new(...)
repo.log('master', path_of_the_file, max_count: 1)[0].date

希望有帮助!

【讨论】:

    【解决方案2】:

    来自mtime 的文件文档:

    将命名文件的修改时间作为 Time 对象返回。

    File.mtime("testfile") #=> Tue Apr 08 12:58:04 CDT 2003

    Ruby 还支持ctime,即文件的目录信息发生更改的时间。在 Windows 上,ctime 的行为略有不同,因为 Windows 支持文件的创建时间,这与 Linux 和 Mac OS 不同。

    【讨论】:

    • 我想过,但这对我不起作用。我想要得到的是文件最后一次提交的日期/时间,而不是实际的修改日期。
    • 如果你能澄清你的问题会很好,因为你说的是​​现在的提交时间,而不是问题中的修改时间。
    • 首先,很抱歉回复晚了。你完全正确,我现在将编辑标题。我还发现git log -1 --format="%cd" -- &lt;file&gt; 给出了最后一次提交文件的日期。我试图做的是使用 Grit 做同样的事情。
    猜你喜欢
    • 1970-01-01
    • 2014-04-23
    • 2015-07-02
    • 1970-01-01
    • 2020-07-10
    • 2018-09-13
    • 1970-01-01
    • 2019-02-26
    相关资源
    最近更新 更多