从git存储库中删除并忽略所有具有扩展名的文件

时间:2010-02-23 19:03:13

标签: python django git github

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

有什么方法可以从我的git存储库中的所有子目录中删除所有.pwc文件,然后在以后的任何提交中忽略它们?

4 个答案:

答案 0 :(得分:45)

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

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

find . -name *.pwc | xargs git rm

注意:如果您尚未提交,请使用rm,而不是git rm

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

答案 1 :(得分:17)

您还可以使用以下内容:

git rm -r '*.pwc' 

然后通过git忽略这些文件:

echo '*.pwc' >> .gitignore

如果您已经有.gitignore文件,最后一个是以防万一,我们单个'>'登录。

答案 2 :(得分:3)

Jefromi的回答将删除它们的现在和未来......你也可以使用git filter-branch删除它们。当然,这还有一些其他的后果,比如要求其他人在回购时重新结账(并且可能会将他们没有推到主要回购的任何工作变废)。取决于PWC文件的大小,如果它们在您的仓库中浪费了大量磁盘空间,您可能想要这样做(因为每次克隆git仓库时,您都会得到每个文件和每个版本)

答案 3 :(得分:1)

Windows 中,这对我有用:

git rm -r '*.pwc' -f

并将其保存在.gitignore

echo '*.pwc' >> .gitignore