GithubV3API-如何在存储库中创建初始提交?
我正在使用V3API,并设法列出repos/trees/branch、访问文件内容和创建blob/trees/commits。我现在正试图创建一个新的回购协议,并设法通过“POST user/repo”实现 但是当我尝试在这个新的repo中创建blob/trees/commits/references时,我得到了相同的错误消息。(409)“Git存储库为空。”。显然,我可以自己通过git命令行初始化存储库,但更希望我的应用程序能为我这样做 有办法吗?创建空存储库后,我需要通过API做的第一件事是什么GithubV3API-如何在存储库中创建初始提交?,api,github,repository,github-api,Api,Github,Repository,Github Api,我正在使用V3API,并设法列出repos/trees/branch、访问文件内容和创建blob/trees/commits。我现在正试图创建一个新的回购协议,并设法通过“POST user/repo”实现 但是当我尝试在这个新的repo中创建blob/trees/commits/references时,我得到了相同的错误消息。(409)“Git存储库为空。”。显然,我可以自己通过git命令行初始化存储库,但更希望我的应用程序能为我这样做 有办法吗?创建空存储库后,我需要通过API做的第一件事是
谢谢2013年5月更新:请注意,现在授权 见“”
原始答复(2012年5月) 由于它似乎还不受支持(“,作为注释),您可以从按下初始空提交开始
git commit --allow-empty -m 'Initial commit'
git push origin master
不管怎样,这都是一个很好的实践。如“所示。根据GitHub博客上发布的信息,自2012年以来,现在可以在创建存储库后自动初始化存储库: 今天,我们通过GitHub API更容易将提交添加到存储库。到目前为止,您可以创建一个存储库,但在通过API添加任何提交之前,您需要通过Git客户端在本地对其进行初始化 现在,您可以选择在创建存储库时初始化存储库,方法是为auto_init参数发送true:
curl -i -u pengwynn \
-d '{"name": "create-repo-test", "auto_init": true}' \
https://api.github.com/user/repos
生成的存储库将有一个自述存根和一个初始提交
如果要创建一个空的初始提交(即没有任何文件的提交),可以执行以下操作:
auto_init
选项创建存储库;或者,如果存储库已经存在,则使用创建虚拟文件-这将创建分支:看来他们还不支持,谢谢。真奇怪,API支持创建repo,但不支持初始化它们。有趣+1.我把那棵空树记录在案 PUT https://api.github.com/repos/USER/REPO/contents/dummy { "branch": "master", "message": "Create a dummy file for the sake of creating a branch", "content": "ZHVtbXk=" } POST https://api.github.com/repos/USER/REPO/git/commits { "message": "Initial commit", "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904" } PATCH https://api.github.com/repos/USER/REPO/git/refs/heads/master { "sha": "<the SHA of the commit>", "force": true }