相关疑难解决方法(0)

快速列出大量文件的上次提交日期

我想列出git存储库中大量文件最后提交日期.

为了具体起见,让我们假设我想获取*.txt特定子目录中所有文件的最后提交日期.存储库中总共有数万个文件,相关*.txt文件的数量在数百个.存储库中已有数千个提交.

我尝试了三种不同的方法.


解答1. 这个问题给出了一个答案,基于git log.但是,如果我尝试做这样的事情,那就很慢了:

find . -name '*.txt' |
    xargs -n1 git log --format=format:%ai -n1 --all -- '{}'
Run Code Online (Sandbox Code Playgroud)

在我的测试案例中,花了几分钟 - 对我来说太慢了.


解决方案2.这样的事情快得多,不到一秒钟:

git log --format=format:%ai --name-only .
Run Code Online (Sandbox Code Playgroud)

但是,我必须编写一个后处理输出的脚本.此外,上面的命令打印出许多永远不需要的信息:无关文件和旧提交.


解决方案3.我也试过这样的东西,以摆脱不相关的文件:

git log --format=format:%ai --name-only `find . -name '*.txt'`
Run Code Online (Sandbox Code Playgroud)

然而,事实证明这比解决方案2 .(运行时间有3个不同.)此外,它仍然会打印不再需要的旧提交.


题.我错过了什么吗?有快速方便的方法吗?当我们提交更多数量的提交时,最好是现在还是将来工作的东西?

git

17
推荐指数
1
解决办法
2502
查看次数

如何查看在git上创建多个文件的日期?

我想查看指定目录中所有文件的git创建日期(添加它们的第一次提交日期).

git github

15
推荐指数
1
解决办法
1936
查看次数

git log输出就像svn ls -v一样

有没有办法让git给我输出像svn ls -v一样.基本上是每个文件的列表以及最后编辑该文件的人?像这样:

filea.txt     Someone Else
fileb.txt     Another Person
Run Code Online (Sandbox Code Playgroud)

也许甚至用SHA来识别发生变化的提交?

svn git

6
推荐指数
2
解决办法
5242
查看次数

标签 统计

git ×3

github ×1

svn ×1