You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitLab或GitHub在线仓库中归档仓库的指定版本?

在GitHub/GitLab实现指定版本归档的在线存储

嘿,这个需求我刚好折腾过,其实GitHub和GitLab本身就内置了生成这种在线归档的能力,不用你手动生成归档再上传,当然如果你想自定义归档内容,也有办法。我给你分平台拆解下具体操作:

GitHub 实现方式

官方自动生成归档(推荐)

GitHub默认支持为仓库的任意标签、分支、commit哈希生成在线归档链接,完全不需要手动上传文件,格式如下:

https://github.com/<你的用户名>/<仓库名>/archive/<版本标识>.tar.gz
# 或者用zip格式
https://github.com/<你的用户名>/<仓库名>/archive/<版本标识>.zip
  • 如果你要指定标签版本(比如你例子里的3.4.6),直接把<版本标识>换成标签名就行,比如https://github.com/opencv/opencv_contrib/archive/3.4.6.tar.gz就是这么来的;
  • 如果是指定某个commit,用完整哈希值或者前7位短哈希都可以;
  • 如果是分支,直接写分支名(比如main)就能生成该分支当前最新状态的归档。

手动上传自定义归档(可选)

要是你需要生成带有自定义内容的归档(比如排除某些文件),可以先本地用git archive生成归档文件:

git archive -o my-custom-archive.tar.gz v3.4.6

然后通过以下方式上传:

  • 上传到Release附件:进入仓库的「Releases」页面,创建新版本(或编辑已有版本),在「Attach binaries by dropping them here or selecting them」区域上传归档文件,用户就能通过Release页面下载;
  • 提交到仓库目录:把归档文件git add、git commit后推送到仓库,但这种方式会占用仓库存储空间,不推荐用于大归档。

GitLab 实现方式

官方自动生成归档(推荐)

GitLab同样支持自动生成归档,链接格式略有不同:

https://gitlab.com/<你的用户名>/<仓库名>/-/archive/<版本标识>/<仓库名>-<版本标识>.tar.gz
# zip格式同理
https://gitlab.com/<你的用户名>/<仓库名>/-/archive/<版本标识>/<仓库名>-<版本标识>.zip

用法和GitHub一致:<版本标识>可以是标签、分支名、commit哈希,比如标签v1.0.0的归档链接就是https://gitlab.com/yourname/yourrepo/-/archive/v1.0.0/yourrepo-v1.0.0.tar.gz。

手动上传自定义归档(可选)

和GitHub类似,先本地生成归档:

git archive -o my-custom-archive.tar.gz v1.0.0

然后:

  • 上传到Release附件:进入仓库的「Releases」页面,创建或编辑版本,在「Assets」区域点击「Upload file」上传归档;
  • 提交到仓库:同样可以把归档文件提交到仓库,但同样会增加仓库体积,谨慎使用。

总结一下,优先用官方自动生成的归档链接,既省心又不占用仓库空间,完全符合你例子里的那种归档形式~

内容的提问来源于stack exchange,提问作者user10796940

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:13:10