gitlab通过命令行获取特定分支的tar

标签 git command-line gitlab

我正在使用 gitlab。当我进入界面时,我可以在每个分支上以 zip、tar 或其他格式下载源代码。

我正在制作 rpm 规范文件,我需要能够使用命令行下载 tar ball。因为我添加了我的 rsa key ,所以我可以毫无问题地进行 git clone:

git clone http://gitlab/group/project.git
Cloning into 'project'...
remote: Counting objects: 1885, done.
remote: Compressing objects: 100% (826/826), done.
remote: Total 1885 (delta 1194), reused 1496 (delta 954)
Receiving objects: 100% (1885/1885), 1.30 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1194/1194), done.
Checking connectivity... done

不管怎样

wget http://gitlab/group/project/repository/archive.zip

给我这些错误:

Resolving gitlab (gitlab)... 10.1.253.75
Connecting to gitlab (gitlab)|10.1.253.75|:80... connected.
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.

最佳答案

GitLab 6.2issue 5253 ,应该是:

GET /projects/:id/repository/archive

但这似乎仅供内部使用,因为您无法知道项目作为用户的 ID(仅知道其名称)。

别忘了,作为shown in ability.rb ,下载文件链接到权限。确保为您的项目设置了“download_code”权限。

这里肯定是权限问题,因为,例如:

wget http://demo.gitlab.com/gitlab/gitlab-recipes/repository/archive.zip

这很好用,可以毫无问题地获取该项目的内容。


但是,作为 OP Chris Maes comments并在 issue 6645 中提及, 如 app/models/ability.rb 所示:

 if project && project.public?

...“dowload_code”功能用于公共(public)项目。

关于gitlab通过命令行获取特定分支的tar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22691197/

相关文章:

java - 在 Openshift 上强制执行构建操作 Hook

git fetch 与 git fetch origin master 对跟踪分支有不同的影响

C代码中的Linux命令:/* treat as comment?

windows-7 - 在 Windows 7 上使用 start/AFFINITY 命令设置关联

git - 如何在 gitlab ci/cd 管道上的 docker build 期间解锁 git-crypt 文件

git - 以特殊格式收集存储库中所有分支的列表 [Git]

带有*无趣*路径列表的 git bisect

bash - 在 Bash 中使用通配符匹配作为命令行参数

git - 如何重置git身份验证?

docker - 如何从 gitlab-ci (+docker) 正确部署到主机?