Git:显示最近未修改过的文件

时间:2016-03-16 13:22:58

标签: git git-log

为了清理一些git repo,我想列出所有没有收到任何新提交超过一段时间的文件(例如,让我们告诉一年)。

我知道如何列出X最近修改的文件,但不知道如何做相反的事情:)

感谢。

2 个答案:

答案 0 :(得分:2)

这是一个1-liner,显示去年的文件被改变:

git ls-files | grep -v "$(git log --pretty=format: --name-only --since='1 year ago' | sort | uniq)"

您可以将其包装在一个别名中,以便更容易调用。

答案 1 :(得分:0)

编写一个循环遍历所有文件的脚本,从文件中提取修改日期,然后打印出来。

它与GIt无关。 : - )

如果您想使用git命令执行此操作,则无法使用 ls-tree 命令:

# loop over the files and print last modification date
git ls-tree -r --name-only HEAD | while read filename; do
  echo "$(git log -1 --format="%ad" -- $filename) $filename"
done
  

<强> ls-tree

     

列出树对象的内容
  --name-only - 仅打印文件名

循环和打印输出形成上次修改日期的文件日志