git repo长满源目录中不需要的文件

斯蒂芬·波士顿

我有一个存储库,在此存储库中我无意中将许多大文件放到了源目录中,直到我签出到另一个位置时才注意到该错误。很大 它过去需要两秒钟下载,现在需要三分钟。

我已经删除了目录,但看不到如何通过扩展名或名称模式过滤掉特定类型的文件。

有标准的方法吗?还是骇客?

加勒特·海德

问题是,即使您在上次提交中删除了文件,添加文件时,这些文件仍存在于提交下的存储库中。

高炉煤气

要从Git存储库中完全删除文件,最简单的选择是使用BFG Repo-Cleaner参考)。

bfg --delete-files name_of_file.txt

Git过滤器分支

另一种选择是使用git filter-branch参考)。以下示例将./text_files目录从Git存储库中完全删除

git filter-branch --tree-filter "rm -rf text_files" --prune-empty HEAD
git for-each-ref --format="%(refname)" refs/original/ | xargs -n 1 git update-ref -d

之后

删除文件后,您可能需要配置Git使其忽略。

echo text_files/ >> .gitignore
git add .gitignore
git commit -m 'Ignore text_files directory'

您还需要覆盖远程存储库。

git push origin master --force

注意:如果其他人已经克隆了该Git存储库,则他们将需要重置其本地副本以指向新的HEAD。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

尽管“git reset --hard HEAD~1”,不需要/未跟踪的文件仍在 .git 目录中

从git repo永久删除不需要的文件夹-Repo大小不变

如何从git中删除不需要的文件

快照中不需要的未跟踪文件-Git

Git提交不需要的文件

世博会初始化不需要的git repo

如何从git分支中删除不需要的,未跟踪的目录?

如何从git add列表中删除不需要的文件(数量为100)

git mergetool为什么说“不需要合并文件”?

git clean不会清除不需要的文件夹

Git mergetool生成不需要的.orig文件

删除不需要的文件以减小git存储库的大小

我可以从本地Git存储库中丢弃不需要的/不需要的提交吗?

从 git log 中删除不需要的推送提交

摆脱git不需要的合并分支?

Git删除不需要的提交

git clone之后,本地Git Config始终具有不需要的文件模式设置

git显示克隆回购时不存在的不需要的文件夹

Git重置-很难,仍然从我的拉扯中得到了不需要的东西

在TFS / Git 2018中创建拉取请求时不需要的默认审阅者

如何从Git仓库中完全删除不需要的分支和提交

git pull创建不需要的合并提交

'git remote -v'本地删除不需要的存储库

不需要的合并(git)后回收master

清理不需要的提交和无关分支的Git分支

为git commit添加别名,因此不需要引号

CtrlP:忽略git repo内子目录中的文件

使用 cmd 文件从 PATH 中删除不需要的目录

从git repo将文件拉入Web目录