如何在git中找到文件第一次提交的日期

5

有没有办法查看一组文件的第一个提交日期,以便我可以按该列表对它们进行排序?

为了上下文,我正在使用Node.JS进行实验,使用它创建一个简单的博客,其中“数据库”实际上是一个git存储库。

我想尝试的方法是列出特定目录中的所有文件,然后在每个文件上调用类似于以下内容的内容:

git log --format="format:%ci" --reverse [my file here]

这将会输出如下内容:
2010-09-01 11:42:56 -0700
2010-09-22 12:17:19 -0700
2010-09-22 13:18:11 -0700
2011-03-05 00:11:19 -0800
2011-08-26 08:50:02 -0700
2011-08-26 08:51:50 -0700

然后,获取第一个结果并用于排序。是否有更好的方法?

1
你可能仍然想使用node.js,但如果你想用git来写博客,它已经有一个引擎可以做到这一点(无需主机)。请查看此文章http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html。 - hross
1个回答

9

我认为你可以使用--diff-filter选项来获取你想要的结果,通过选择仅添加的文件来实现。例如,你可以解析以下命令的输出:

git log --diff-filter=A --name-only --pretty=format: | sort -u
git log --format="format:%ci" --name-only --diff-filter=A

更多关于--diff-filter所理解的不同状态,请参见git log文档


这非常有帮助。谢谢! - Erik Kalkoken
请注意,在某些情况下,此命令将输出多个提交(行),这可能不是您想要的。 - yue

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接