从 GitLab 下载压缩源时如何生成提交 ID
Posted
技术标签:
【中文标题】从 GitLab 下载压缩源时如何生成提交 ID【英文标题】:How to generate commit ID when download zipped sources from GitLab 【发布时间】:2022-01-18 09:41:28 【问题描述】:我正在使用 GitLab 社区版。我可以通过提交或标签或通过 GitLab Web 界面从发布页面下载压缩源。当我从 GitLab 下载源文件作为 zip 存档时,我想要一个包含提交 ID 或标签名称的文件。是否有自动生成此类文件的方法?
我已经有一个带有“$Format:%h
”变量的文件,在运行“git archive
”命令时它被替换为提交 ID。但是,它不适用于下载的 zip 存档。而且它似乎不适用于标签名称。 UPD:似乎它不适用于file archive API
【问题讨论】:
【参考方案1】:file archive API。
curl --header "PRIVATE-TOKEN: <your_access_token>" \
"https://gitlab.example.com/api/v4/projects/<project_id>/repository/archive"
您甚至可以在tar.gz
、tar.bz2
、tbz
、tbz2
、tb2
、bz2
、tar
和 zip
之间选择您喜欢的任何格式。
您也可以指定要下载的特定 SHA(也可以从标签信息中检索 SHA)。
没有将文件放入下载包中的第一方功能。但是,您始终可以在下载后在存档中创建此文件。
【讨论】:
它只是下载一个源包。它不会像“git archive”命令那样替换“$Format...”字符串。我需要在存档中生成一个提交 ID。我做错了什么?以上是关于从 GitLab 下载压缩源时如何生成提交 ID的主要内容,如果未能解决你的问题,请参考以下文章