我知道可以获取然后使用带有路径/到/文件的结帐来下载该特定文件。
我的问题是我每天有 1 MB 的数据上限,并且 git fetch 无论如何都会下载所有数据,即使在我使用 git checkout 之前它不会将它们保存到磁盘。我仍然使用我的数据
我对 git fetch/checkout 的理解是否正确?有没有一种方法可以下载特定文件,以便在继续下载之前查看是否有新版本。
Chr*_*n W 21
为了扩展另一个答案,(现在?我不知道何时添加此功能)可以只获取原始文件而不是带有文件的 base64 编码的 json 。
从文档中:
端点: GET /projects/:id/repository/files/:file_path/raw
例子:
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/13083/repository/files/path%2Fto%2Ffile%2Efoo/raw?ref=master"
Run Code Online (Sandbox Code Playgroud)
请注意,在示例中,文件的完整路径是 URL 编码的,导致 path/to/file.foo
ja2*_*142 11
Gitlab 有一个休息 API。
您可以使用 curl 从存储库获取文件:
curl https://gitlab.com/api/v4/projects/:id/repository/files/:filename\?ref\=:ref
Run Code Online (Sandbox Code Playgroud)
例如:
curl https://gitlab.com/api/v4/projects/12949323/repository/files/.gitignore\?ref\=master
Run Code Online (Sandbox Code Playgroud)
如果您的存储库不是公开的,您还需要通过添加--header 'Private-Token: <your_access_token>'.
您可以在此处查看如何查找存储库 api id 。
还有一个使用这个api的python库。
请注意,这是 GitLab 特定的解决方案,不适用于其他主机。