Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Github发布API在没有源代码的情况下发布?_Git_Github_Github Api - Fatal编程技术网

如何使用Github发布API在没有源代码的情况下发布?

如何使用Github发布API在没有源代码的情况下发布?,git,github,github-api,Git,Github,Github Api,我正在使用blow命令在Github repo上发布一个版本: curl -X POST -H "Authorization: token xxxxxxxxx" -d '{"tag_name": "test", "name":"release-0.0.1","body":"this is a test release"}' https://api.github.com/repos/xxxxxx 我可以看到一个新版本已经创建。但它下面有两个下载按钮: Source code (zip) So

我正在使用blow命令在Github repo上发布一个版本:

curl -X POST -H "Authorization: token xxxxxxxxx"  -d '{"tag_name": "test", "name":"release-0.0.1","body":"this is a test release"}'  https://api.github.com/repos/xxxxxx
我可以看到一个新版本已经创建。但它下面有两个下载按钮:

Source code (zip)
Source code (tar.gz)
没有源代码我如何发布


如果我无法删除源代码附件,如何上载其他二进制文件?我尝试使用API
上传发布资产
如下:
POSThttps:///repos/:owner/:repo/releases/:id/assets?name=foo.zip
,它成功返回,但我在Github发布选项卡上找不到二进制文件。

我认为在社区版本上找不到。不过,您可以将小型二进制文件附加到发行版。我相信这就是GitHub的工作方式,因为它以浏览代码为导向,提供源代码是重要的部分。

要创建新版本并上载其他二进制文件,您可以:

  • 使用
    POST/repos/:username/:repo/releases
    创建发布,并存储响应中的
    upload\u url
    字段
  • 使用
    POST$upload\u url
    和附加参数
    name
    和可选的
    label
    上传您的资产(请参阅)
使用
bash
curl
和(JSON解析器)的快速示例:

#/bin/bash
令牌=您的\u令牌
repo=用户名/您的repo
upload_url=$(curl-s-H“授权:令牌$token”\
-d'{“tag_name”:“test”,“name”:“release-0.0.1”,“body”:“this is a test release”}\
"https://api.github.com/repos/$repo/releases“| jq-r”。上传_url”)
upload\u url=“${upload\u url%\{*}”
echo“将资产上载到url:$upload\u url”
curl-s-H“授权:令牌$token”\
-H“内容类型:应用程序/zip”\
--data binary@test.zip\
“$upload\u url?name=test.zip&label=some binary.zip”

您可以使用该文件在自动生成过程中控制sorcecode archive的内容(并使其成为存储库的一部分)

添加如下行:

src export-ignore
将目录“src”从生成的源程序包中排除。github内部使用“git archive”基于标记创建程序包,而“git archive”可以通过“.gittributes”进行控制


不知道是否可以完全避免生成源代码包-但这至少是控制源代码包内容的一种解决方法

如果无法删除源代码附件,如何上载其他二进制文件?我尝试使用API
上载发布资产
,它成功返回,但我可以dn在Github release tab上找不到二进制文件。很好,它可以工作。我想我是否可以删除源代码zip下载?我不这么认为,因为版本是基于,Github会自动显示它绑定到的SHA id,并提供此标记的源存档链接。但是,您可以使用
tar在特定的提交/分支上创建/更新版本get_commitish
字段(默认为master branch)如果我使用付费github帐户会怎么样?这能删除源代码zip吗?如果我使用付费github帐户会怎么样?这能删除源代码zip吗?您忽略了“如何在没有源代码的情况下发布?”part.Nice。这至少应该标记为问题标题的答案