我正在使用ruby interface到github API将内容从ruby app推送到github。一切正常,但我似乎无法找到如何在使用Github API时指定分支。
github = Github.new :oauth_token => 'MYPERSONALACCESSTOKEN'
blobs = github.git_data.blobs.create 'whoisstan', 'test_for_github_api', content: 'Sample', encoding: 'utf-8'
trees = github.git_data.trees.create 'whoisstan', 'test_for_github_api',
"tree" => [
{
"path" => "file.rb",
"mode" => "100644",
"type" => "blob",
"sha" => blobs.body['sha']
}
]
commits = github.git_data.commits.create 'whoisstan', 'test_for_github_api', :tree => trees.body['sha'], :message => 'new version', :parents => nil
同样奇怪的是,内容在网站上没有链接,我只能在使用响应的html_url时才能看到它。
https://github.com/whoisstan/test_for_github_api/commit/f349a436e2fdbffddfc6715490da7282160798fe
看起来可疑的是提交父级似乎为空。此外,不会触发post commit钩子。如何指定分支并让内容在github网站中正确显示?
答案 0 :(得分:1)
https://developer.github.com/v3/git/处的文档解释了向特定分支添加提交的过程。您需要做的事情不同:
Git Data API是一个低级API,可用于blob,树,提交和引用。在某些情况下,您需要这种灵活性来实现应用程序的目标。在其他情况下,您可以考虑使用更高级别的API,例如Repo Contents API,它可以处理文件(并在幕后创建所有必需的Git对象)