如何快速合并.gitignore中所有未跟踪的文件和目录?

时间:2015-01-15 15:55:03

标签: git gitignore

我有一个大型Git存储库,其中包含许多随机文件和目录,应该被忽略。当我跑git status时,我会收到很多噪音。

这些文件和目录不遵循特定模式。我可以手动将它们逐个添加到.gitignore,但这很乏味。

是否有快速方法可以将git status返回的许多或所有“未跟踪文件”添加到.gitignore?这似乎是一项显而易见的任务,我认为解决方案必须存在。

2 个答案:

答案 0 :(得分:1)

你可以创建一个简单的Git别名,然后像这样调用它:

已编辑:响应ddd kkk的评论

git config alias.ignore-untracked "! git status -s | grep '??' | perl -pe 's/.{3}/\//' >>  .gitignore"
git ignore-untracked

答案 1 :(得分:0)

根据Joseph Strauss的解决方案,我使用的最终别名定义是:

git config alias.ignore-untracked "! git status -s | grep '??' | cut -d\  -f2- | awk '{print \"/\" \$0; }' | sed '1i # ignore-untracked: $(date)' >> .gitignore"

这预先添加了gitignore,并附有一条注释,指出文件的添加日期。

此代码执行如下:

git ignore-untracked