【问题标题】:Fastest way of getting latest commit timestamp of each file in a directory获取目录中每个文件的最新提交时间戳的最快方法
【发布时间】:2020-07-20 22:02:15
【问题描述】:

我需要获取 Git 存储库中文件夹中所有文件的最新提交日期。

我一直对目录中的每个文件使用以下过程:

git -C c:\my\path\to\git\project log -1 --format=%cd --date=iso -- path/to/myfile.txt

这非常慢,因为此文件夹中有 1000 多个文件。

有没有更有效的方法来做到这一点?

【问题讨论】:

  • 嘻嘻,我想说previous solution 很慢。但决定等待。现在等待结束了。 :-)
  • “极慢”究竟是什么意思?
  • 获取我系统上 10 个文件的时间戳大约需要 13 秒。这可能是由于病毒扫描程序等

标签: git


【解决方案1】:

让我们将您正在做的事情称为从文件中获取修订版,但您可能想要切换到从修订版中获取文件。如果您对该目录执行git log --name-only,您将获得每个修订版中更改的文件...当文件显示时,您知道上次修改它们的时间...您需要一个列表来了解哪些文件仍然_缺少_知道您是否需要更深入地挖掘....但肯定会更快。

【讨论】:

【解决方案2】:

您可以先使用ls-files 生成文件列表,然后通过xargs 将其发送到git log

git ls-files path/to/dir | xargs -n 1 git log -1 --format=%cd --date=iso --

【讨论】:

    猜你喜欢
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2014-04-07
    • 2017-12-02
    • 1970-01-01
    • 2021-02-22
    • 2020-01-17
    相关资源
    最近更新 更多