2017-10-06 10 views
0

내 앱이 너무 많은 API 요청을 트리거하기 때문에 자주 Octokit::AbuseDetected 오류가 발생합니다.Octokit : Repo에 푸시하지 않고 add_contents

I 원격 저장소에 특정 디렉토리의 내부에 각 파일을 추가 할 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 

에 디렉토리 안에있는 모든 파일을 밀어 중 하나 방법이 있나요 한 번에 원격 저장소를 만들거나 처음에 내용을 로컬에 추가 한 다음 저장소를 밀어 넣으시겠습니까?

+0

oktokit 라이브러리를 사용해야합니까? 또는 다른 라이브러리로 전환하는 것이 좋습니다. 예를 들어 [ruby-git] (https://github.com/schacon/ruby-git) – Hirurg103

+0

@ Hirurg103 글쎄, 너무 복잡한 일이 아니라면 :-) – jonhue

답변

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 키를 설정해야합니다 - 읽기 Generating a new SSH key and adding it to the ssh-agent

+0

'Git.open ('.')'은 무엇을 의미합니까? & 푸시 인증 방법은 무엇입니까? – jonhue