Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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
Python 我可以只克隆Git存储库中大小低于指定限制的文件吗?_Python_Python 3.x_Git_Version Control - Fatal编程技术网

Python 我可以只克隆Git存储库中大小低于指定限制的文件吗?

Python 我可以只克隆Git存储库中大小低于指定限制的文件吗?,python,python-3.x,git,version-control,Python,Python 3.x,Git,Version Control,我的任务是扫描内部Git存储库中的敏感信息(或不应公开的信息) 我的主要问题是,一些开发人员将大blob(+100MB)提交到他们的Git存储库中,这需要很长时间才能下载,并且出于扫描目的而被忽略 有没有办法让Git只克隆大小低于指定限制的文件?如果没有,是否有更好的方法来扫描Git存储库中的敏感信息?是的,这可以通过一个名为“部分克隆”的新功能实现。您可以在克隆时指定一个筛选器,Git将根据该筛选器限制它获取的数据量 例如,您可以执行以下操作,即克隆Git存储库,而不克隆任何大于100 MiB

我的任务是扫描内部Git存储库中的敏感信息(或不应公开的信息)

我的主要问题是,一些开发人员将大blob(+100MB)提交到他们的Git存储库中,这需要很长时间才能下载,并且出于扫描目的而被忽略


有没有办法让Git只克隆大小低于指定限制的文件?如果没有,是否有更好的方法来扫描Git存储库中的敏感信息?

是的,这可以通过一个名为“部分克隆”的新功能实现。您可以在克隆时指定一个筛选器,Git将根据该筛选器限制它获取的数据量

例如,您可以执行以下操作,即克隆Git存储库,而不克隆任何大于100 MiB的Blob:

git clone --filter=blob:limit=100m https://github.com/git/git.git
请注意,要做到这一点,您应该使用最新版本的Git(2.26.2),并且还需要有合适的服务器端实现。GitHub确实支持这一点,但其他服务器实现可能支持也可能不支持


请注意,尽管GitHub支持部分克隆,但出于效率原因,它限制了可用的过滤器。不过,应该支持按大小限制blob。

提出了一个粗略的谷歌搜索(我从未使用过这个)。我以前使用过BFG和git过滤器分支。但在尝试克隆的时候永远不要。部分克隆是从Git本机获取所需内容的唯一方法,而且它还不能完全用于日常使用。你也许能让它为你的案子工作。不过,请注意,这只意味着人们会将敏感数据偷偷放入大数据块中。:-)非常感谢。你能链接到可用的过滤器吗?我还可以按文件扩展名过滤,或者该文件是否为文本文件?过滤器在。无法根据文件扩展名或内容进行筛选。