一个 git 分支可以在同一个遥控器中膨胀另一个分支吗?



我有一个 git 存储库,在origin远程上有一个master分支。团队中的其他开发人员正在将他们自己的dev/feature分支推送到同一个遥控器。最终,这些分支将被丢弃,或者被挤压合并到master中,然后删除。

现在团队中的一些开发人员不熟悉 git,并且可能会通过添加二进制文件等来膨胀其功能分支的历史记录。 最终,他们将发送一个拉取评审请求,该请求必须经过评审,评审者将强制不添加二进制文件。

在这种情况下,我希望dev/feature分支会变得臃肿(例如,git 可能会变慢,拉取/克隆它们可能需要一段时间等(。问题是,这是否会给仅在同一遥控器中与其他分支机构一起工作且不臃肿的人带来任何性能问题。

问题是这是否会给仅在同一遥控器中使用其他不臃肿的分支的人带来任何性能问题。

如果臃肿的树枝被推,是的,它会影响其他人的表现,但仅限于git fetch(包括git pull(。默认情况下,它将下载每个分支的整个历史记录和完整内容。有多种方法可以解决这个问题,例如git clone --single-branch只获得master,但下面有一个更好的解决方案。

但它不应影响其他操作。git diffgit log等...应该基本上不受影响。

与其阻止人们将二进制文件放入版本控制中,或者只克隆某些分支,不如使用 git-lfs。这是两全其美的。您可以将二进制文件放在版本控制中,但实际内容存储在存储库之外,以避免存储库膨胀。

最新更新