首页 > 解决方案 > Git 显示最近 X 小时内修改(但尚未提交)的文件列表

问题描述

我正在尝试查看我已修改但尚未提交的所有文件中的哪些文件在过去 2 小时内被修改。

git status显示所有修改文件的列表,但我只想查看最近修改的文件。

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

这可以做到吗?

标签: git

解决方案


Git 不存储文件何时被修改,仅在提交时存储。相反,使用 . 检查文件系统上文件的修改时间find

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

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

这将检查目录中的所有文件。如果您只想检查 Git 知道的那些,请使用git ls-files -mxargs和.find

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'

推荐阅读