繁体   English   中英

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

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

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

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

删除它们的方法很多:

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

find . -name *.pwc | xargs git rm

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

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

您还可以使用以下内容:

git rm -r '*.pwc' 

然后使那些文件被git忽略:

echo '*.pwc' >> .gitignore

最后一个是万一您已经有.gitignore文件,如果没有,我们用'>'符号。

Jefromi的答案将删除它们的现在和将来...您也可以使用git filter-branch删除它们。 当然,这还有其他方面的影响,例如要求回购仓库中的其他所有人重新结帐(并可能将他们尚未推送到主回购仓库中的所有工作重新建立基础)。 取决于PWC文件的大小,如果它们浪费了您存储库中的大量磁盘空间,则可能需要这样做(因为每次克隆git存储库时,您都会获得每个文件和每个修订版)

Windows中,这对我有用:

git rm -r '*.pwc' -f

并将其保存在.gitignore中

echo '*.pwc' >> .gitignore

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM