破坏性git操作对github forks有什么影响?

破坏性git操作对github forks有什么影响?,git,github,Git,Github,我在github上主持了一个项目,这个项目有点臃肿: 回购协议目前约为160兆字节。我想做一点清理,将一些文件移动到一个单独的回购协议中,这样克隆主回购协议的“成本”就更小了。我已经研究了如何做到这一点,我很高兴git允许我从存储库索引中删除文件夹,从而减小了总体大小。我也知道这是一次破坏性的行动 我的问题是,如果我执行此操作,并强制推送到github,对参与项目的人员有什么影响?如果他们对fork进行更改并发出pull请求,我是否仍然能够将它们合并到中?(我不介意手动执行此操作) 或者,这会

我在github上主持了一个项目,这个项目有点臃肿:

回购协议目前约为160兆字节。我想做一点清理,将一些文件移动到一个单独的回购协议中,这样克隆主回购协议的“成本”就更小了。我已经研究了如何做到这一点,我很高兴git允许我从存储库索引中删除文件夹,从而减小了总体大小。我也知道这是一次破坏性的行动

我的问题是,如果我执行此操作,并强制推送到github,对参与项目的人员有什么影响?如果他们对fork进行更改并发出pull请求,我是否仍然能够将它们合并到中?(我不介意手动执行此操作)


或者,这会导致他们的叉子没用吗?

您的存储库实际上是70MB(正如您在中所说的)。这是git存储库的压缩大小,不包括工作目录的大小

就是这个尺寸被克隆了。即使使用您的网站/目录,您的存储库的大小也大约为70MB。在commit 1FAF01C4CB46DF893592268407C3D84C403592F中删除的所有代码仍在存储库中,可以重新获取。每个克隆人都会下载这个

要减小git回购的大小,可以运行
git gc
。它会为你清理一些东西。要真正从您的回购中删除内容(比如一起撕掉网站目录),您需要使用类似于
git filter branch
的东西。你可以在这里找到一个很好的教程


还有一些其他技巧可以尝试重新计算存储(
git-repack
git-gc-aggressive
等)。我在您的存储库中尝试了这些,但无法使其大小低于70MB。事实上,我得到了一个更糟糕的大小(72MB)。我猜您的存储库已经很好地打包了。

强制推送不会减少您的回购规模。有关更多信息,请参阅github关于永久删除文件/提交的帮助。无论你做什么都不会影响forks,只意味着没有共同的历史记录(这会使提交补丁变得稍微困难)。提交补丁,你是指拉请求吗?感谢您提供有关github删除帮助的信息。我会调查的。