1

在我在分支之间来回切换的 git 存储库中,文件修改时间如mtimeruby​​ 所示(或基于操作系统的修改时间度量,例如 through ls -l)显示我上次更改分支的时间而不是实际时间文件被修改。

我了解 Git 存储所有文件的文件修改时间,但我如何获得显示的实际修改日期,例如来自 ruby​​ 调用?

例如,我看到我可以从命令行得到这个:

git log -1 --format="%ad" -- path/to/file

但不确定最好的 Ruby 方法是什么。

4

1 回答 1

2

我相信这是不可能的;即 git 只存储提交时间,而不是修改时间。但是,您可能想查看metastore,它是 git 的补充,可将此元数据存储在单独的文件中。

但是,由于提交时间足以满足您的目的,您可以直接从 ruby​​ 运行命令;就像是:

%x(git log -1 --format='%ci' path/to/file)

或者您可以使用其中一个ruby​​ git 库。我自己从来没有使用过这些库,所以我不能保证它们中的任何一个。

编辑:添加了关于提交时间的部分,因为这足以满足 OP 的目的。

于 2013-02-26T22:26:05.280 回答