我试图查看我最近修改但尚未提交的所有文件中有哪些是在最近两个小时内被修改的。
git status
向我显示了 all 个修改过的文件的列表,但我只想查看最近修改过的文件。
我发现了这个问题Git show files that were changed in the last 2 days,但它似乎仅适用于已提交的文件。
可以做到吗?
答案 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 xargs和find
进行过滤。
git ls-files -m | xargs -I file find file -not -mmin +120
或者使用xargs
和bash。
git ls-files -m | xargs -I file bash -c '(( $(date +%s) - $(stat --printf='%Y' file) < 7200 )) && echo file'