Python 从git存储库中删除并忽略所有具有扩展名的文件
我正在与其他一些开发人员一起进行django项目,我们最近意识到,我们应用程序中的所有.pwc文件都会导致提交和存储库混乱Python 从git存储库中删除并忽略所有具有扩展名的文件,python,django,git,github,Python,Django,Git,Github,我正在与其他一些开发人员一起进行django项目,我们最近意识到,我们应用程序中的所有.pwc文件都会导致提交和存储库混乱 是否有任何方法可以从git存储库的所有子目录中删除所有.pwc文件,然后在将来提交时忽略它们?有很多方法可以删除它们: git ls-files | grep '\.pwc$' | xargs git rm find . -name *.pwc | xargs git rm 注意:如果您尚未提交它们,只需使用rm,而不是git-rm 要在将来忽略它们,只需将*.pwc添
是否有任何方法可以从git存储库的所有子目录中删除所有.pwc文件,然后在将来提交时忽略它们?有很多方法可以删除它们:
git ls-files | grep '\.pwc$' | xargs git rm
find . -name *.pwc | xargs git rm
注意:如果您尚未提交它们,只需使用rm
,而不是git-rm
要在将来忽略它们,只需将*.pwc添加到.gitignore。(如果您没有,请在存储库的顶层创建一个名为.gitignore的文件,只需添加一行“*.pwc”)Jefromi的回答将在当前和未来删除它们……您也可以使用在过去删除它们。当然,这还有其他一些影响,比如要求参与回购的所有其他人重新结账(并可能重新确定他们没有推进到主回购的任何工作的基础)。取决于PWC文件的大小,如果它们在您的repo中浪费了大量磁盘空间,您可能需要这样做(因为每次克隆git repo时,您都会得到每个文件和每个版本)您还可以使用以下功能:
git rm -r '*.pwc'
然后让git忽略这些文件:
echo '*.pwc' >> .gitignore
最后一个是,如果您已经有.gitignore文件,如果没有,则使用单个'>'符号。在Windows中,这对我很有用:
git rm -r '*.pwc' -f
为了把它放在里面,我忽略了
echo '*.pwc' >> .gitignore
我后来确实设置了一个.gitignore,但是*.pwc会在应用程序的每个目录级别都忽略它们吗?在找到它的目录的所有子目录中,.gitignore都受到尊重。这就是为什么它们通常被放在顶级的原因。请注意,如果希望仅对给定的子目录使用忽略规则,则可以将它们放在较低的级别。如果出现错误
find:path必须位于表达式:“filename.pwc”
,则将命令更改为find-名称“*.pwc”| xargs rm
。请注意单引号。对,但这不会查看子目录。@jiehanzheng这是不正确的,-r
标志也会删除子目录中的文件。对我来说,它是:git rm-r*.pdf
,文件名周围没有引号您是救命稻草。你帮我节省了很多时间!