【问题标题】:Is there a specific protocol to add everything to Git using Rugged?是否有使用 Rugged 将所有内容添加到 Git 的特定协议?
【发布时间】:2014-11-21 16:41:19
【问题描述】:

我最近开始使用 Rugged,但已经遇到了一些问题。基本上我想做的就是在 Git 存储库中添加所有内容,提交分阶段的更改,然后将所有内容推送到分支。我从第一步开始如下:

@repo = Rugged::Repository.new(Dir.pwd)
@index = @repo.index

def git_add
    @index.add mode: 'add-all'
end

但控制台最终对我尖叫。我浏览了 libgit2 的文档,找不到任何在 repo 中添加所有内容的示例。一些彻底的谷歌搜索产生了类似的结果。我可能只是将@repo.workdir.entries 作为index.addpath 参数插入,但我不确定。有没有更好的方法来解决这个问题?

【问题讨论】:

    标签: ruby git libgit2 rugged


    【解决方案1】:

    根据您是要暂存每个文件还是只暂存已存在的文件,您有两个选项,分别为Index#add_allIndex#update_all

    您可以使用repo.index.add_all() 暂存指定目录下的每个文件。您可以使用 repo.index.update_all() 来执行相同的操作,但仅适用于存储库已知的那些文件,类似于 git 的 -A-u 选项。

    【讨论】:

      猜你喜欢
      • 2011-07-29
      • 2012-11-17
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 2016-07-19
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多