从 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.gztar.bz2tbztbz2tb2bz2tarzip 之间选择您喜欢的任何格式。

您也可以指定要下载的特定 SHA(也可以从标签信息中检索 SHA)。

没有将文件放入下载包中的第一方功能。但是,您始终可以在下载后在存档中创建此文件。

【讨论】:

它只是下载一个源包。它不会像“git archive”命令那样替换“$Format...”字符串。我需要在存档中生成一个提交 ID。我做错了什么?

以上是关于从 GitLab 下载压缩源时如何生成提交 ID的主要内容,如果未能解决你的问题,请参考以下文章

如何通过触发器下载提交给 gitlab 的二进制文件?

如何在gitlab中的一次提交中查找已删除的文件

Mac下如何生成SSH Key-使用GitLab

windows下如何生成gitlab ssh公钥

从gitlab备份包恢复某个仓库

gitlab 拉取代码怎样设置不要密码