远程上的git重写历史记录>>

问题描述 投票:2回答:1

免责声明

:我敢肯定,这个问题的标题已经抛出了您的所有危险信号,并且让您想惹恼我,或者给我一些有关重写历史为何是严重罪行的解释。很好,您可以这样做,但也请解决我的问题。

我在git repo中犯了一些非常非常糟糕的错误,使错误最大达到了数GB,yikes!幸运的是,这是我自己的私人存储库,因此我仔细阅读并重写了历史记录以删除所有错误。我基本上遵循了these instructions

  1. 找到我要删除的所有文件。
  2. 使用git-filter-branch删除它们。
  3. 从日志和引用中删除记录
  4. 重新垃圾收集。
  5. 这样做,我将存储库从数GB降到了一个兆字节,是的!我接着输入了git push origin --force --all,并且所有内容均成功更新。

现在,我想将我的存储库克隆到一个新系统中,以测试重写是否有效。当我克隆时,我得到了:

remote: Enumerating objects: 6359, done.
remote: Counting objects: 100% (6359/6359), done.
remote: Compressing objects: 100% (4857/4857), done.
fatal: The remote end hung up unexpectedly 1.70 GiB | 3.05 MiB/s

这在我看来很奇怪。首先,我的存储库不再是数GB,而只有1 MB。此外,我没有6539对象。重写后,我只有2128个对象。似乎在我推动重写之前,它正在下载存储库。

所以我的问题是:如何获得远程仓库以查看我是否重写了历史记录以使仓库变小得多?

谢谢!

P.S。回购在bitbucket上。

免责声明:我敢肯定,这个问题的标题已经抛出了您的所有危险信号,并且让您想让我发火或者让我对为什么重写历史是一件严重的事给我一些解释...

git bitbucket git-remote git-rewrite-history
1个回答
0
投票
仔细检查,位桶上没有旧分支指向项目的未过滤版本。例如,bitbucket可能会保护master分支免于被强行推入,因此它仍指向旧代码。在您的旧仓库上运行git fetch然后gitk --all --remotes应该是向您显示上游仓库状态的好方法。
© www.soinside.com 2019 - 2024. All rights reserved.