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

转茶

我有git repo,我不小心将一些库文件提交给git远程repo。

现在,它增加了大约6.23 GB的大小。然后我尝试使用以下命令删除库

git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch node_modules" -- --all

rm -rf .git/refs/original/
git reflog expire --expire=now --all
git gc --prune=now
git gc --aggressive --prune=now

现在,该库已从存储库中删除,并且未在repo文件夹中列出。但是本地仓库的规模仍然比以前更大

还有一件事是执行上述命令需要花费大量时间。我不确定他们是否运作正常

我什至尝试将其推送到远程仓库,

git push --all --force

但这并没有成功推送,直到远程仓库无法访问或没有响应,它会一直尝试到最后并突然出现

我也尝试过重写标签

git filter-branch -f \ --index-filter 'git rm -r --cached --ignore-unmatch node_modules' \  --tag-name-filter 'cat' -- --all

我也尝试了以下方法使其起作用

git config --global pack.windowMemory 0
git config --global pack.packSizeLimit 0
git config --global pack.threads "3"

但是无论我做多少,回购规模都还是一样

注意:我尝试过

git fsck --full --unreachable

列出了一些无法访问的标签

我在Git pull错误中提到:无法创建仅git gc还不够的临时sha1文件名

可以减少回购规模的一种组合应该是:

git gc
git repack -Ad      # kills in-pack garbage
git prune           # kills loose garbage

但是,此操作必须在大文件(git filter-branch)的所有清理之后进行,并且仅用于本地存储库。

将(git push --force送到远程仓库后,该远程仓库将不会从相同的大小减小中受益。还需要在远端完成gc / repack / prune。

如果远程端是TFS ...这是不容易/可能现在做的

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

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

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

Git repo 远程更改文件夹

更改Git Repo文件夹

更新git repo时删除已删除的文件/文件夹

git 从外部 repo 文件夹添加文件?

丢失了 git 文件夹和 repo 信息

raco pkg:安装git repo的子文件夹

git repo下的整个主文件夹

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

在克隆之前查看 git repo (bitbucket) 的大小

重复的文件会增加git repo的大小吗?

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

Git svn - 每个文件夹一个 git repo(拉一次)

被忽略文件夹中的Git命令-是否可以真正忽略它在git repo中?

为另一个 git repo 中的一个文件夹单独 git repo

根据扩展名将git repo文件移动到子文件夹

如何使用包含文件的子文件夹创建git repo?

Git hooks - 如何仅处理属于 repo 内特定文件夹的文件?

Git删除不需要的提交

我只想使用 groovy 将 git diff 命令显示的 git repo 中已更改的文件复制到与 git repo 中结构相同的文件夹中

恢复永久删除的文件夹 - git 项目

我应该在我的本机git repo中检查这个android文件夹吗?

为什么远程 git repo 没有将文件夹名称更改为小写

为什么不能将文件夹添加到当前的 git repo

将 git repo 克隆到 Dockerfile 中的非 root 用户文件夹

aws codecommit repo 文件夹由在本地计算机上运行的 git 命令覆盖