Octokit:add_contents没有推送回购

时间:2017-10-06 15:39:56

标签: ruby-on-rails ruby github github-api octokit

我经常收到Octokit::AbuseDetected错误,因为我的应用会触发过多的API请求。

我使用add_contents方法将特定目录中的每个文件添加到远程存储库:(逐个)

Dir.glob(wrapper + '/**/*') do |path|
    octokit_client.create_contents(repo, path.sub("#{wrapper}/", ''), 'adding content', File.read(path), branch: 'master') unless File.directory?(path)
end

有没有办法将目录中的所有文件一次推送到远程仓库或首先在本地添加内容然后推送回购?

1 个答案:

答案 0 :(得分:0)

不确定oktokit库是否可行。要使用ruby-git实现此目的,您可以执行以下操作:

Dir.glob(wrapper + '/**/*') do |path|
  next if File.directory?(path)
  File.write path.sub("#{wrapper}/", ''), File.read(path)
end

g = Git.open('.') # initialize ruby git
g.add
g.commit('adding content')
g.push

您无需在源代码中使用ruby-git进行身份验证。您需要设置ssh-keys - 阅读Generating a new SSH key and adding it to the ssh-agent