问题描述
我似乎无法找到如何使用 GitLab API 获取合并请求的存储库大小。这是 GitLab 合并请求 API 页面: https://docs.gitlab.com/ee/api/merge_requests.html
我可以看到,可以通过 Projects API https://docs.gitlab.com/ee/api/projects.html 获取项目的存储库大小,但看不到如何将其应用于分支或合并请求。
(我也想知道提出合并请求的用户的访问级别,但除非我弄错了,访问级别信息仅对存储库管理员可用?)
谢谢
解决方法
没有用于此的 API,因为“项目大小”不是在主分支或主分支中跟踪的文件的大小,而是项目的总大小,包括跟踪的文件,整个 git 历史记录( .git
目录中的所有内容)等。例如,如果您要从 FontAwesome 下载 5k 个图像并将它们提交到您的 git 存储库,然后稍后删除它们,您的项目大小仍会反映它们,因为它们在git 历史。您可以在项目的“项目概览”页面上看到这一点。在项目名称下,您将看到诸如提交数、分支数、标签数之类的内容,然后是两个名为 Files 和 Storage 的属性。 Files 值是 git 为您的主/主分支跟踪的单个文件的原始文件大小。 Storage 是项目的总大小,包括 git 历史、提交消息等。
要获取任何分支中文件的大小,您可以:
#1: check out that branch
git checkout my_feature_branch
# get the file size
du -sh $(pwd)
du
命令(用于磁盘使用)以字节为单位显示给定文件或目录以及每个子目录的磁盘使用情况。 -s
标志告诉 du
仅显示(s)指定目录的总磁盘使用量。 -h
标志告诉 du
以 (h) 人类可读格式(KB、MB、GB、TB 等,而不是字节)给出结果。