我初始化了git
存储库并进行了第一次提交。现在,我在这个目录中运行./configure
,./make all
以便它填充许多不想跟踪的额外文件/文件夹。
我想做的是将所有这些未跟踪的文件一劳永逸地添加到我的 gitignore 中。有什么简单的方法吗?
我可以摆脱一些不必要的文件,例如*.o
或*.mod
通过在 .gitignore 中指定适当的行,但这并不能解决问题。
试试这个:
git status -s | grep -e "^\?\?" | cut -c 4- >> .gitignore
说明:git status -s
给你一个简短的状态版本,没有标题。grep
只接受以 开头的行,??
即未跟踪的文件,cut
删除??
,其余的将其添加到.gitignore
文件中。
一个更简单的命令是
git ls-files --others --exclude-standard >> .gitignore
您可能想要编辑结果以用通配符替换重复的模式。
如果您的工作树除了未跟踪的文件/文件夹之外是干净的,则可以使用更短的解决方案awk
:
git status -s | awk '{print $2}' >> .gitignore
在接受的答案中, grep 部分导致了我的问题(即没有过滤,而是显示了所有行,包括以M
(modified) 开头的行),并替换"^\?\?"
为"^??"
我解决了它。我在 win 10 上并在 msys2 的 bash 中使用它。