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 |
注:如果您没有承诺,只使用
要在将来忽略它们,只需将*.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 |