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

标签 git github

我在 github 上托管了一个有点臃肿的项目:

https://github.com/ColinEberhardt/PropertyCross/

该存储库现在约为 160 兆字节。我想做一些清理,将一些文件移动到一个单独的 repo 协议(protocol)中,以便克隆主 repo 协议(protocol)的“成本”更小。我已经研究了如何做到这一点,我很高兴 git 允许我从存储库索引中删除文件夹,从而减少整体大小。我也知道这是一个破坏性的操作。

我的问题是,如果我执行这个操作,强制push到github,对fork这个项目的人有什么影响?如果他们对他们的 fork 进行了更改并提出了 pull requests,我仍然能够将它们 merge 吗? (我不介意手动执行此操作)。

或者,这会导致他们的 fork 无用吗?

最佳答案

您的存储库实际上是 70 MB(如您在 https://github.com/tastejs/PropertyCross/issues/189 中所说)。这是 git 存储库的打包大小,不包括您的工作目录的大小。

克隆的就是这个尺寸。即使包含您的网站/目录,您的存储库大小也约为 70 MB。您在提交 1faf01c04cb46df893592268407c3d84c403592f 中删除的所有代码仍在存储库中,并且可以取回。每个克隆仍然下载这个。

要减少 git-repo 的大小,您可以运行 git gc。它会为你清理一些东西。要真正从你的 repo 中删除东西,(比如一起删除网站目录)你需要使用类似 git filter-branch 的东西。你可以在这里找到一个很好的教程 https://confluence.atlassian.com/display/BITBUCKET/Maintaining+a+Git+Repository

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

关于git - 破坏性的git操作对github forks有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16807146/

相关文章:

git - git stash 后未跟踪的文件丢失,在分支和 stash pop 上工作

git - 从没有分支分支的封闭 pull 请求中挑选

git - 防火练习 : Recreate Github (or any other central) repository from developers clones

git - 修补程序后 merge Git Flow 功能分支?

git 择优挑选一个提交到另一个分支

excel - 从 Excel VBA 执行 Git Bash

git - 使用 gitosis 指定每个分支的权限?

git - 什么是 "git remote add ..."和 "git push origin master"?

git - 使用 R 下载、修改、上传 Github Gists

git - 如何安装/设置 TortoiseGit 以与 GitHub 一起工作