相关疑难解决方法(0)

如何从Git存储库中的提交历史记录中删除/删除大文件?

偶尔我会把一个DVD-rip放到一个网站项目中,然后不小心git commit -a -m ...,然后,zap,回购邮件被2.2演出臃肿.下次我做了一些编辑,删除了视频文件,并提交了所有内容,但是历史记录中的压缩文件仍然存储在存储库中.

我知道我可以从那些提交开始分支并将一个分支重新绑定到另一个分支.但是我应该怎么做才能将2个提交合并在一起,以便大文件没有在历史记录中显示并在垃圾收集过程中被清除?

git version-control git-rebase git-rewrite-history

646
推荐指数
17
解决办法
22万
查看次数

BFG回购清洁剂–替代新鲜克隆

我本打算在存储库中问这个问题,但是SO似乎是一个更合适的问这个问题的地方。

我能够使用BFG Repo Cleaner(很棒的工具,谢谢!)将我们的.git文件夹大小减少了1GB以上,就我们的存储库而言,这是一个巨大的成功。我还没有将裸露的克隆推到远程,因为我担心在了解推入然后不重新克隆的后果之前提出这些更改。

我了解最佳实践指示,当历史以这种方式改变时,最佳解决方案是执行新克隆。但是,我与一支由50多人组成的团队合作,在超过2GB的存储空间和23k的提交中,在我们的架构下,跨团队的协调非常困难。结果,我有一些问题:

  1. 如果我要推送这些更改的引用,而人们将继续使用现有副本而不是创建新的克隆,后果将是什么?
  2. 如果可行,他们是否需要采取其他措施来减轻这些后果,作为其影响的一部分?
  3. 如果您认为删除的斑点来自历史至少一年且最多三年的历史记录,此建议是否会根本改变?
  4. 最后,鉴于新克隆不包括任何未在上游同步的工作,您是否建议将未跟踪分支从一个克隆转移到另一个的最佳方法?如果已经存在执行此操作的Git命令,那么我很想听听您的见解。

再次感谢您创建了这样一个方便的工具,希望我能完成对我的团队项目有用的工作。在此期间,我将继续尝试使用叉子。

git-rewrite-history bfg-repo-cleaner

5
推荐指数
1
解决办法
761
查看次数