Github如何发布生成存档文件名?

Vai*_*pai 6 git curl github

我刚刚在github上为我的NFQL软件创建了版本.
这是发布页面:https://github.com/vbajpai/nfql/releases

对于最新版本,v0.7.如果我点击tarball按钮,它会保存一个nfql-0.7.tar.gz.这很棒,而且我希望如何命名我的发布档案.

在此输入图像描述

但是,我需要tarball本身的下载链接.这样我就可以为tarball创建一个MacPorts/Homebrew文件.如果我查看下载链接,它是:

一个)https://github.com/vbajpai/nfql/archive/v0.7.ta​​r.gz
b)中https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7

现在,如果我使用curl/wget它将tarball保存为v0.7.tar.gz.我知道我可以在下载时指定文件名curl/wget.我想知道是否有一个可靠的github URL我可以用来获取我的tarball nfql-0.7.tar.gz.

PS:无论如何,github在那里做什么?当我直接点击源代码链接时,浏览器如何更改文件名?

del*_*eil 9

第一个链接提供重定向到第二个链接:

curl --head https://github.com/vbajpai/nfql/archive/v0.7.tar.gz
HTTP/1.1 302 Found
Location: https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7
...
Run Code Online (Sandbox Code Playgroud)

当我直接点击源代码链接时,浏览器如何更改文件名?

文件名是通过自定义Content-DispositionHTTP标头定义的:

curl --head https://codeload.github.com/vbajpai/nfql/tar.gz/v0.7
HTTP/1.1 200 OK
Content-Disposition: attachment; filename=nfql-0.7.tar.gz
...
Run Code Online (Sandbox Code Playgroud)

所以,你可以使用curl-O, --remote-name,-L, --location-J, --remote-header-name写输出到一个名为远程文件文件,执行重定向并使用标头提供的文件名(RESP):

curl -LOJ https://github.com/vbajpai/nfql/archive/v0.7.tar.gz
Run Code Online (Sandbox Code Playgroud)


Mar*_*cus 5

不确定最初发布问题时是否可行,但是现在您可以使用https://github.com/vbajpai/nfql/archive/v0.7/nfql-0.7.ta​​r.gz直接获取正确的文件名,而无需查找在标题。使用wget时这非常好,因为您不需要标志,只需wget https://github.com/vbajpai/nfql/archive/v0.7/nfql-0.7.tar.gz

请注意,选择要使用的版本的是倒数第二个路径组件-您可以将想要拥有的任何文件名放在最后一个路径组件中。