将'git status'与find命令结合使用mmin或mtime选项

时间:2012-08-04 15:22:16

标签: linux git time find diff

' git status' command给出自上次提交以来更改的文件列表。

使用mmin或mtime选项查找命令可以给出在给定时间长度内保存的文件列表。但它也包括我编辑过的文件,然后撤消更改,即那些内容未被更改的文件。

我需要的是获取在给定时间长度内已修改(内容已更改)的文件列表。有可能吗?

由于

1 个答案:

答案 0 :(得分:2)

你想要的是Git whatchanged

这是一个使用whatchanged来显示添加文件的示例(我没有碰巧在我使用的测试仓库中修改了文件,但您可以轻松地将结果限制为已修改的文件而不是添加的文件):< / p>

$ git whatchanged --after='2012-07-07 17:20' --before='2012-07-28 23:31' --diff-filter=A -r --oneline --name-only
82b9dcf F
E/F
95a02ce D
D

正如手册中所述,whatchanged幕后使用rev-listdiff-treewhatchanged也使用rev-list和{{1}可用的选项}}。 diff-tree diff-tree选项将:

  

仅选择已添加(A),复制(C),删除(D),修改(M),重命名(R)的文件,其类型(即常规文件,符号链接,子模块,...)已更改(T),Unmerged(U),Unknown(X),或已配对破碎(B)。

如果您想直接使用--diff-filterrev-list(以避免提交日志diff-tree想要输出),您可以使用:

whatchanged