Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何限制git存储库的存储?_Git_Githooks - Fatal编程技术网

如何限制git存储库的存储?

如何限制git存储库的存储?,git,githooks,Git,Githooks,我想限制git存储库的存储,以避免存储库超过大小限制。 我看到了这个问题(),在这个问题中,使用预接收钩子解决了这个问题。但是,如果我以这种方式锁定推送,用户将无法删除文件以恢复空间 我考虑修改这个预接收,计算推送后存储库大小的估计值。但是我不知道我怎么才能得到这个新尺寸。 这个估计必须考虑删除的文件,以允许用户可以做一个新的推删除文件来留出空间。p> 另一种方法是使用post接收,如果新大小超过限制,则恢复更改。但是,如果推送包含多个提交,则此恢复可能会很复杂 如何解决此问题?但此捆绑包不允许

我想限制git存储库的存储,以避免存储库超过大小限制。 我看到了这个问题(),在这个问题中,使用预接收钩子解决了这个问题。但是,如果我以这种方式锁定推送,用户将无法删除文件以恢复空间

我考虑修改这个预接收,计算推送后存储库大小的估计值。但是我不知道我怎么才能得到这个新尺寸。 这个估计必须考虑删除的文件,以允许用户可以做一个新的推删除文件来留出空间。p> 另一种方法是使用post接收,如果新大小超过限制,则恢复更改。但是,如果推送包含多个提交,则此恢复可能会很复杂


如何解决此问题?

但此捆绑包不允许我查看大小是否已减小。例如,如果用户删除了一些文件,就会考虑通过XFS项目配额来接近这一点。@ LASSKS是不可能的,因为存储库处于自我管理的GITLAMP安装中,并且不可能重新安装ITADADOMIN添加一个提交。存储库在增长。恢复提交会添加新的提交。存储库在增长。删除文件会添加新的提交。存储库在增长。根据定义,版本控制系统可以永远保存所有内容。请注意,唯一可以适当收缩存储库的方法是删除其中的提交。但是以后的提交取决于早期提交的存在,所以一般来说,要从存储库中删除提交,需要删除该提交及其所有子体。把它想象成时光倒流,让“现在”成为“现在”:未来没有发生,你再也记不住了。