关于python:删除并忽略git存储库中所有具有扩展名的文件

Remove and ignore all files that have an extension from a git repository

我正在和其他几个开发人员一起开发一个Django项目,最近我们意识到我们的应用程序中的所有.pwc文件都会导致提交和存储库混乱。

是否有任何方法可以从Git存储库中的所有子目录中删除所有.pwc文件,然后在将来提交时忽略它们?


有很多方法可以移除它们:

1
2
3
git ls-files | grep '\.pwc$' | xargs git rm

find . -name *.pwc | xargs git rm

注:如果您没有承诺,只使用rm,不使用git rm

要在将来忽略它们,只需将*.pwc添加到.gitignore。(如果您没有,请在存储库的顶层创建一个名为.gitignore的文件,只需添加一行代码为"*.pwc")。


您还可以使用以下内容:

1
git rm -r '*.pwc'

然后让这些文件被Git忽略:

1
echo '*.pwc' >> .gitignore

最后一个是以防您已经有.gitignore文件,如果没有,我们单一的">"符号。


Jefromi的答案将在现在和将来删除它们…您也可以在过去使用git过滤分支删除它们。当然,这也有一些其他的影响,比如要求回购协议的其他所有人重新结账(并且可能重新平衡他们没有推进到主回购协议的任何工作)。取决于pwc文件有多大,如果它们在您的repo中浪费了大量的磁盘空间,您可能需要这样做(因为每次克隆git repo时,都会得到每个文件和每个修订版)


在Windows中,这对我很有用:

1
git rm -r '*.pwc' -f

为了把它保存在.gitignore中

1
echo '*.pwc' >> .gitignore