我们可以通过以下方式获取存储库提交列表:
GET /projects/:id/repository/commits?path=:thefilename
我们可以通过blob ID获取原始文件内容:
GET /projects/:id/repository/blobs/:sha/raw
但是,第一个api不会返回每个存储库提交的blob ID,并且没有已知的api可以使用提交ID来检索原始文件内容。我需要从过去的存储库提交中检索原始文件内容,而不仅仅是最新的提交。
答案 0 :(得分:1)
这实际上不是事实。该API直接支持从任意引用获取文件,因为git直接支持:
GET /projects/:id/repository/files/:file_path/raw
file_path
(必填)-网址编码的新文件的完整路径。例如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'