我有一个中央git仓库,我和几个协作者经常从中推送和拉取。过去我不小心提交了一个大的二进制blob,需要变基才能完全删除,这对每个人来说都很麻烦,所以我想防止将来出现这种情况。是否可以在远程存储库中设置钩子,检查正在推送的文件大小(无论是新增文件还是更新现有文件),并拒绝超过阈值大小(比如2MB)的文件推送?
重要的是,我希望已经大于2MB但未更改的现有文件仍能被容忍(因此,如果仓库中已经存在一个2MB的文件,推送不应该被拒绝,只有当推送添加一个2MB的文件或将现有文件增加到2MB时才会被拒绝)。此外,我希望钩子在远程端执行,这样我不必担心客户端是否需要设置钩子。
编辑:由于一个推送可以包含多个提交,即使只有一个包含大文件的提交也会把它卡在仓库里,所以我想防止包含/任何提交/的推送增加或扩展一个>=2MB的文件。
重要的是,我希望已经大于2MB但未更改的现有文件仍能被容忍(因此,如果仓库中已经存在一个2MB的文件,推送不应该被拒绝,只有当推送添加一个2MB的文件或将现有文件增加到2MB时才会被拒绝)。此外,我希望钩子在远程端执行,这样我不必担心客户端是否需要设置钩子。
编辑:由于一个推送可以包含多个提交,即使只有一个包含大文件的提交也会把它卡在仓库里,所以我想防止包含/任何提交/的推送增加或扩展一个>=2MB的文件。