Git显示最近X个小时内已修改(但尚未提交)的文件列表

时间:2018-09-24 16:21:26

标签: git

我试图查看我最近修改但尚未提交的所有文件中有哪些是在最近两个小时内被修改的。

git status向我显示了 all 个修改过的文件的列表,但我只想查看最近修改过的文件。

我发现了这个问题Git show files that were changed in the last 2 days,但它似乎仅适用于已提交的文件。

可以做到吗?

1 个答案:

答案 0 :(得分:2)

修改文件时,Git不会存储,仅在提交时存储。而是使用find在文件系统上检查文件的修改时间。

find . -not -mmin +120 -not -path './.git/*'

-not -mmin +120查找至少在120分钟前未更改的文件。 -not -path './.git/*'忽略.git目录。

这将检查目录中的所有文件。如果您只想查看Git知道的内容,请从git ls-files -m的列表中按照其修改时间using xargsfind进行过滤。

git ls-files -m | xargs -I file find file -not -mmin +120

或者使用xargsbash

git ls-files -m | xargs -I file bash -c '(( $(date +%s) - $(stat --printf='%Y' file) < 7200 )) && echo file'