4

我想通过命令行 curl 一个 git 标签:

curl -O http://someurl

但是当我尝试解压文件时它坏了?有谁知道是什么问题?

4

3 回答 3

4

您可以curl从 GitHub 等 git repos 托管服务中获取 git 标签,因为它有一个提供 tar(或 zip)的专用 tarball 服务(如Nodeload)。但没有任何其他 git repo 有相同的服务。

有关 GitHub(或此GitHub 教程)的具体示例,请参阅“从 Private Repo 下载 Git 存档 tarball 时遇到问题” :curl

curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar

公共回购中:

curl -L https://github.com/pinard/Pymacs/tarball/v0.24-beta2 | tar zx
于 2012-12-31T12:48:20.053 回答
3

git本身不提供http接口。一个解决方案是git archive改用

git clone http://example.com/myrepo.git
git archive mytag > myrepo-mytag.tar.gz
于 2012-12-31T13:08:03.973 回答
2

如果您只需要获取必要的最小值,

git init temp
cd temp
git remote add x http://example.com/repo.git
git fetch x sometag --depth=1
git archive FETCH_HEAD > ../repo.sometag.tgz
cd ..
rm -rf temp

会的

于 2012-12-31T18:11:13.363 回答