首页 > 解决方案 > 忽略 git status 中未跟踪的旧文件

问题描述

这完全是我自己的懒惰造成的问题。在某些项目中,我倾向于积累一堆我还不想删除但也不想提交的临时文件。而且因为它们只是我的本地临时文件,所以我也不想要.gitignore它们。

git status如果它们在过去 X 天被修改,有没有办法只显示未跟踪的文件?

标签: gitgitignore

解决方案


这是我现在使用的脚本,而不是git status

#!/bin/bash

OLD_THRESHOLD="+30" # More than 30 days old
OLD_UNTRACKED=$(git status --porcelain=2 | \
                grep '^[?] ' | cut -d' ' -f 2- | \
                xargs -I X find X -maxdepth 0 -mtime $OLD_THRESHOLD )

git -c color.status=always status | grep -vF "$OLD_UNTRACKED"

它需要一个未跟踪文件的列表,并过滤掉任何mtime超过 30 天的文件。

请注意,未跟踪的文件仍会在例如git add folder. 最好组织目录,以便临时文件位于 gitignored 文件夹中。


推荐阅读