git - 如何使用 gitlab api 从存储库提交中检索原始文件内容?
问题描述
我们可以通过以下方式获取存储库提交列表:
GET /projects/:id/repository/commits?path=:thefilename
我们可以通过 blob id 获取原始文件内容:
GET /projects/:id/repository/blobs/:sha/raw
但是,第一个 api 不会返回每个存储库提交的 blob id,并且没有已知的 api 可以使用提交 id 检索原始文件内容。我需要从过去的存储库提交中检索原始文件内容,而不仅仅是最新的提交。
解决方案
这实际上不是真的。API 直接支持从任意引用获取文件,因为 git 直接支持:
GET /projects/:id/repository/files/:file_path/raw
file_path
(必需)- 新文件的 URL 编码完整路径。前任。lib%2Fclass%2Erbref
(必填) - 分支、标签或提交的名称
前任。:
curl --request GET --header 'PRIVATE-TOKEN:' ' https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fmodels%2Fkey%2Erb/raw?ref=master '
推荐阅读
- gremlin - 在 gremlin 查询中获取叶顶点的 id
- java - 当我尝试为 Space Invaders 克隆加载游戏时出现 ClassCastException
- c++ - 如何使不拥有像 shared_ptr 这样的指针?
- sql - 不同的按结果分组并带有案例陈述
- crashlytics - 将符号上传到 Crashlytics 时超出 GC 开销限制
- html - 将两个 div 分别对齐到父 div 的中心和末尾?
- go - 如何使用 Go API 客户端以编程方式创建 Google Cloud Function
- python - 求解绑定到复合总和的优化
- google-sheets - 如何让 MAX 返回一个数组
- sql-server - 如何将列 - 在表变量中并且具有作用于其上的函数 - 连接到永久表中的列?