0

我经常收到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

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

4

1 回答 1

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 - 阅读生成新的 SSH 密钥并将其添加到 ssh-agent

于 2017-10-06T21:20:45.230 回答