【问题标题】:Git hard disk space problemsGit硬盘空间问题
【发布时间】:2014-10-29 08:00:32
【问题描述】:

我对 git 越来越熟悉,最近犯了一个错误:我从一台计算机上添加了很多大文件(每个 100Mb,整个 70GB),将它们提交并推送给主文件。现在,我想在另一台计算机(硬盘驱动器较小)上运行,但我卡住了。

我无法完全从远程存储库中提取(由于硬盘驱动器上没有空间),但我也无法释放膨胀的本地 git 存储库。

我的问题是:如何将我的存储库恢复到不需要大量本地硬盘空间的状态? (我将在下次从另一台计算机推送时删除文件。

【问题讨论】:

  • 通过推送删除文件是行不通的。如果您希望文件消失并删除存储库使用的空间,则需要重写历史记录。
  • 你有远程机器上的shell访问权限吗?
  • 也许BFG 可以满足您的需求? (我不确定,我刚找到这个 - 它引用自 a github article
  • @ChrisMartin 不是直接的,那台远程机器在大学里。但如有必要,我可以去找管理员。

标签: git


【解决方案1】:

你需要做的

git reset

git filter-branch

使用正确的参数。改写你的历史。

然后您必须使用 --force 将其推送到您的远程存储库。请注意,这将使使用该存储库的每个人都变得更加困难,因为他们将不得不进行变基或新克隆。

git push --force

从您的分支中删除提交。现在,该提交仍将在您的遥控器和包含该提交的计算机上再存在 14 天左右。要么你不在乎,要么你跑

git gc --prune=now

【讨论】:

  • 但这并没有解决如何首先克隆 repo 的问题?。
  • @ChrisMartin 为什么这是个问题?他有电脑1、电脑2和电脑遥控器。他必须纠正 1 并将其推送到远程,然后才能克隆到 2。
  • 非常感谢您的回答。我尝试了你的建议 - 但它确实产生了奇怪的效果,我无法修剪数据。 Git 开始压缩东西并告诉我它没有足够的可用空间(它没有 - 这是我首先要修剪的原因:)。我想,我需要删除所有内容并克隆当前存储库...
  • @Drey 在有磁盘空间问题的计算机上,您需要删除 repo 并再次克隆它,这是正确的。 git gc 建议适用于第一台计算机,即添加大文件的计算机。如果您对我的回答感到满意,请将其标记为已接受。
猜你喜欢
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-25
  • 2013-01-26
  • 2015-08-11
  • 2013-03-23
  • 1970-01-01
相关资源
最近更新 更多