问题标签 [bfg-repo-cleaner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1847 浏览

git - Git BFG 追溯启用 LFS - 受保护的提交问题

我有大文件并试图使用新的 Git LFS 系统。

我发布了这个问题 - Git lfs - “这超出了 GitHub 的文件大小限制 100.00 MB”

Edward Thomson 正确地发现了我的问题——你不能追溯使用 LFS。他建议我使用BFG LFS 支持

这在一定程度上奏效了。我的绝大多数文件都被更改了。但是,有一些未更改的受保护提交。

在这些受保护的提交中,有些超过 100.00MB,因此导致了来自 github 的 remote:error

首先 - 有人可以解释为什么这些提交受到保护并且与 BFG 成功更改的提交不同吗?

其次 - 我怎样才能取消保护这些并允许 BFG 编辑它们,从而允许我正确使用 LFS 并最终成功推送到 GitHub

0 投票
1 回答
1975 浏览

git - 尝试将镜像推送到远程存储库时出现 Git 推送错误

我正在尝试清理 git 存储库。有一些已识别的大文件的大小已减小并重新提交。问题是历史仍然有旧文件。所以我使用 bfg 清洁工作来修剪 git repo。为此,我首先创建了一个 repo 的镜像克隆,然后进行一些过滤以减小大小。

克隆命令:-

我成功地进行了清理并减小了克隆镜像的大小。现在我尝试将其推送到远程服务器。我用 :-

这失败并出现以下错误:-

我不知道为什么我不能推动。我对 repo 有写权限。

我被卡住了,感谢您的帮助。

0 投票
1 回答
133 浏览

git - Git 和 repo 大小

好的,所以我在 bitbucket 上有这个远程存储库,并且在过去的 6 个月里我没有使用本地文件。现在,今天,经过大量工作,我尝试提交并推送我错过的代码,该操作花费了 30 多分钟,我取消了,因为它根本没有进展(卡在 99%)。我很惊讶,因为以前并非如此,而且几乎是立即发生的。

  • 所以我检查了我的应用程序大小:根据 finder 为 660MB
  • .git 文件夹为 600MB
  • 在远程部分,repo 为 178mb

我认为我的本地仓库不知何故被太多的大文件破坏了,决定运行 bfg,但它没有找到高于 1MB 的 blob。

这是一个 symphony2 安装,其中排除了供应商文件夹。

这是一个持续的推送 10 分钟 Writing objects: 99% (532/533), 203.39 MiB | 249.00 KiB/s

我不知道还能做什么。有什么建议么 ?

0 投票
0 回答
821 浏览

git - 使用 BFG Repo Cleaner 后 Git 存储库大小增加

我已经用BFG Repo Cleaner清理了我的仓库

上述命令的输出:

我可以看到我的本地 repo 已经从 6.4G 缩减到了 1.4G。伟大的。我现在试试推

git push 不工作给了我这个错误信息:

后来我对我的 repo 做了一个新的克隆,这一次让我惊讶的是,repo 显示更大的大小 7.4G。我真的不知道这里发生了什么,需要纠正的东西。

0 投票
1 回答
758 浏览

git - 用 BFG 替换了文本,现在它显示我的 fork 在前面/后面有数百个提交

我最近分叉了一个项目,在提交了几十次之后,我注意到我想从文件中删除一些敏感信息。虽然想要删除它,要么只撤消我对该文件的提交,并将更改作为一个重做,要么可能替换一个文本字符串,但我找到了 BFG。我跑的是:

然后是 BFG 输出所建议的 'git reflog expire...'。在强制推送到远程之后,我的 fork nows 说:

现在撤消可能为时已晚,除非我想重新分叉并将我的更改添加为一次提交。有什么解决办法吗?

编辑:我的情况与这里的情况非常相似:

无效 BFG 使用后 Git 合并重复

git log 没有显示任何错误,但是使用其他应用程序,我看到整个历史记录对于每个提交都有重复。Github Desktop 还显示了两个分支,master 和 originalproject/master,我记得它之前只显示了 master。我对 git 的了解还不够,无法弄清楚下一步。使用日志中的提交 ID 尝试 git reset --hard master xxxx 说“无法使用路径进行硬重置”。

0 投票
2 回答
2441 浏览

git - 我应该在镜像仓库还是原始仓库上运行 BFG?

我想从我的 git 存储库中删除两个不再存在的文件。

我把它们放进去,投入,并试图推动,但它们太大了。所以我把它们拿出来,继续工作,然后承诺,试图推动,但它仍然给了我同样的错误。我想他们仍然在某个地方的历史中。

我认为我让问题变得更糟,因为我一直在那个分支中工作并提交了 1 次。然后我将该分支合并回主分支。

所以我搜索了一个解决方案并找到了bfg

但是页面上的说明对我来说没有意义。

首先,

我应该从哪里克隆?我在 github.com 上的远程仓库没有提交和合并,因为我添加了大文件。但是这些说明看起来好像我应该从那里得到它。(我从本地仓库克隆。)

下一个,

some-big-repo.git镜像仓库还是正常的本地仓库?(我为此使用了镜像仓库。)

然后我检查了我的历史记录是否已更新并尝试过,

(为此,我在镜像克隆中)出现错误。

这对我来说很有意义。是的,我目前确实已经master检查过了。但是,我还能做什么呢?如果我以另一种方式尝试,我只能看到正在发生的问题。

0 投票
5 回答
7480 浏览

git - 将本地 repo 的所有分支重置为与远程相同

首先这是不同的,因为这适用于所有分支,而不是一个。(我发现的所有这些一次只指定一个分支)

我在一个大约有 20-30 个分支的仓库上工作(我知道我知道的长故事不好的做法)

无论如何,我正在使用 git bfg 清理器删除一些旧提交,使用它后,您需要删除并重新克隆代码或重置每个分支。

我知道如何使用

但是有没有办法用一个命令重置每个分支,还是我必须一次只做一个分支?

我有很多本地文件被忽略,我不想处理复制和重写。(如 IDE 文件、计算机配置文件等...)

0 投票
1 回答
267 浏览

github - 无法获得 bfg-repo-cleaner 工作

我试图使用BFG Repo-Cleaner从 git 历史记录中删除一个大文件,但无法正常工作。请帮忙!

  1. 我下载了最新的 BFG bfg-1.12.12.jar
  2. 然后我尝试克隆我的 repo 的新副本:

    /li>

问题来了,它说:

致命:无法连接到
example.com:example.com [0:2606:2800:220:1:248:1893:25c8:1946]:errno =操作超时
example.com [1:93.184.216.34]:errno =操作超时

任何人都可以帮忙吗?

0 投票
2 回答
2030 浏览

git - BFG Repo Cleaner 未按预期工作

我正在尝试减小大型 repo (~3.4 G) 的大小,而 bfg-repo-cleaner 似乎是减小它大小的完美工具。

我按照文档中的描述运行了该工具,但只看到 repo 的大小略有减少。特别令人惊讶的是,该工具已删除的一些(但不是全部)博客(deleted-files.txt)仍然在存储库中。我真的不想开始弄乱 git filter-branch 所以任何帮助将不胜感激。

我故意使用激进的 --no-blob-protection 选项来最大化效果。我已经包含了我在截断输出中运行的命令。

git 计数对象 -vH

杜 -rh -d 0

java -jar ~/Downloads/bfg-1.12.12.jar --strip-blob-bigger-than 2M --no-blob-protection ./

git 计数对象 -vH

杜 -rh -d 0

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git 计数对象 -vH

头 ..bfg-report/2016-04-18/10-24-49/deleted-files.txt

git cat-file -s 8afa72875d3013620bb122916bd1ec33a066cbf2

0 投票
4 回答
7283 浏览

git - 如何使用 .jar 工具 BFG Repo Cleaner 并减少 git 存储库?

我有一个问题,我确信它非常简单,但我找不到答案。我是一名动画师,在 Unreal Engine 4 上工作,并使用 Source Control、Bitbucket 和 Source Tree 在当前项目上进行协作。我的编码专业知识在 php 和终端上画了一条线,让我无休止地害怕。我已经做了很多关于减少 git 存储库大小的研究,并取得了一定的成功。

案例: 我的存储库空间不足(可能是因为 UE4 每次使用它都会保存一百万个自动保存文件)并且需要删除一些文件。

我发现了什么:

显然,git 存储库上的文件并不意味着可以轻松删除(也许是为了安全)。似乎没有办法只去存储库突出显示一些东西并点击删除。然而,到目前为止,我在 StackOverflow 中发现了两个有希望的线索。

  1. Sam Watkins的这段很棒的代码给了我一些很好的结果:http ://sam.nipl.net/b/git-gc-all-ferocious
  2. 许多人建议使用称为 BFG Repo Cleaner 的工具。

我想知道的:

  1. 从我读到的内容来看,BFG 似乎是减少存储库的最快和最有效的解决方案。这是一个准确的评估吗?

  2. 网上有很多关于如何使用该工具的资源(例如这个),但没有一个能回答我的(我想是非常基本的)问题。下载后,我该如何处理该文件?我只是双击它吗?.jar 文件是否需要位于特定位置?我必须运行它然后按照说明进行操作吗?

我试过的:

  1. 我双击它,它似乎已经运行,但没有任何效果。

  2. 我尝试使用源代码树的终端按钮通过终端运行几篇演练文章(包括我上面链接的文章)中的代码片段,并用我的复制代码替换所有占位符 url,但任何包含单词 bfg 的片段。罐子失败。我在网上为该工具找到的所有代码都会在终端中返回“找不到命令”消息,这并不奇怪,因为该工具只是位于我的下载文件夹中。

  3. 我看过“使用 .jar 文件”的文章,但我能找到的似乎都是对编码此类文件而不是运行它们更感兴趣,所以,我不知所措。

预先感谢您的任何帮助。

干杯,奥马尔