繁体   English   中英

如何将所有当前未跟踪的文件/文件夹添加到 git ignore?

[英]how to add all currently untracked files/folders to git ignore?

我初始化了git存储库并进行了第一次提交。 现在,在这个目录中我运行./configure./make all以便它填充很多不想跟踪的额外文件/文件夹。

我想做的是将所有这些未跟踪的文件一劳永逸地添加到我的 gitignore 中。 有什么简单的方法可以做到吗?

我可以通过在 .gitignore 中指定适当的行来摆脱一些不必要的文件,如*.o*.mod ,但这并不能解决问题。

试试这个:

git status -s | grep -e "^\?\?" | cut -c 4- >> .gitignore

说明: git status -s为您提供git status -s的简短版本,没有标题。 grep只需要以??开头的行。 ,即未跟踪的文件, cut删除了?? ,其余的将其添加到.gitignore文件中。

一个更简单的命令是

git ls-files --others --exclude-standard >> .gitignore

您可能想要编辑结果以使用通配符替换重复的模式。

如果您的工作树除了未跟踪的文件/文件夹之外是干净的,则可以使用awk更短的解决方案:

git status -s | awk '{print $2}' >> .gitignore

在接受的答案中,grep 部分导致了我的问题(即没有过滤,而是显示了包括以M开头的行(已修改)在内的所有行),并替换了"^\\?\\?" "^??" 为我解决了。 我在 win 10 上并在 msys2 的 bash 中使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM