如果我将一个大的二进制文件提交到一个分支,然后在压缩和合并到master之前将其还原,它仍然会产生存储成本



好吧,很抱歉我问了一大口问题。我问的基本上是这样的:

假设我在存储库中有这个 git 结构:

branch:         D--E--F  
/
Master: A--B--C

如果我在 D 中提交了一个非常大的二进制文件,但随后通过另一个提交 E 将其删除,根据我对 Git 工作原理的理解,这个大二进制文件仍将在存储库历史记录中,并且当其他人克隆存储库或尝试使用此分支时,它将存在于存储中。

我的问题是,如果此时我做一个壁球并通过 GitHub 合并到 Master 然后删除分支会发生什么?现在,所有更改都压缩到一个合并提交到Master中。因为大二进制文件是添加然后删除的,所以我相信它根本不应该出现在 Master 上的这个合并提交中,因此使用 Master 的其他开发人员不必担心这个成本。但我需要确定。

另外,由于分支被删除,是否有某种垃圾收集可以在将来的某个时候自动清理这个大型二进制文件的存储库?

从本质上讲,我想知道是否可以将一个大型二进制文件提交到我的分支进行测试,而不会给使用此存储库的每个人带来成本。

我做一个壁球并通过 GitHub 合并到 Master,然后删除分支?

这应该有效,前提是您在 GitHub 本身上执行此操作,使用挤压提交(或在本地克隆存储库中,但您需要同时推送合并提交和分支删除(

我想知道是否可以将大型二进制文件提交到我的分支进行测试,而不会给使用此存储库的每个人产生成本。

由于那个大的二进制文件根本不会在 GitHub 上推送......您可以简单地将其保留在本地,并将其添加到您的.gitignore中:它不会被提交。

最新更新