可以使用Ruby Octokit(GitHub API)直接将更改提交到GitHub存储库吗?

时间:2014-03-06 20:08:04

标签: ruby git github octokit

我想使用Ruby octokit gem将更改应用于GitHub存储库。这将是Ruby 2(不是Rails)。

我已经使用API​​进行身份验证并查看现有的已提交对象:树和blob。我不明白的是我如何更新,添加和删除部分存储库。

使用git命令行工具,我将克隆repo,将更改的文件复制到顶部,然后在提交并推送更改之前在顶层执行git add -A .。这样做是非常简单的。我编写了一些Ruby代码,通过对底层git工具的系统调用来实现这一点。

但是,我想了解API并直接执行更新,而无需克隆和推送。我已经阅读了一些背景herehere来证明它是可行的,但它们只能添加一个文件。

我编写了一些代码来遍历目录并为所有内容上传blob,希望这些blob计算相同的sha值时无关紧要。但我认为这是非常低效的,必须有更好的方法,也许在发布它们之前在本地比较sha值。或者,API可能包含我错过的git add -A等效内容。

如果有人知道如何做到这一点,或者可以指出适当的例子来帮助我。我会在实施时自己发布答案。

0 个答案:

没有答案