【发布时间】:2012-08-15 15:01:12
【问题描述】:
我们目前有两个存储库。存储库 A 大约 100M。存储库 B 大约是 3G。 我们遇到了这样一种情况,即 repo B 的开发人员配置了一个指向 repo A 的远程并将一个分支(称为 repo_B_branch)推送到 repo A。
现在这将回购 A 的大小增加到 3G+。不好。
Repo A 已将 receive.denynonfastforward 设置为 true。这不应该拒绝在 repo A 上创建 repo_B_branch 吗? git 不应该阻止推送与 master 不共享共同祖先的分支吗?
【问题讨论】:
-
它们是否都有相同的“空白”根提交?
-
不,他们不共享同一个房间提交。不过,我不确定您所说的“空白”是什么意思。 repoA 的根提交和 repoB 的根提交中添加的文件完全不同。
-
如果 DAG 最根的 sha1 由于某些公司管理而最终是相同的,例如他们克隆/复制了一个空的仓库(初始提交持有公司 IPR 和许可证文件),然后您的所有仓库都可以链接到任何其他....
-
我的另一个想法是它被视为孤儿分支,但我还没有研究过其中涉及的问题。
-
我认为为了避免这种情况,您可能需要在服务器上添加一个预接收挂钩来拒绝这些推送。不要认为这是默认可配置的。