0

我想比较 2 个分支并显示存在于一个但不存在于另一个的提交。这可以从命令行工作git log --pretty=oneline branch_b ^branch_a --no-merges并给我想要的东西,但我想在 Grit 中模拟相同的东西来获得使用对象而不是字符串。这在 Grit 中可能吗?

4

1 回答 1

0

我认为这样的事情应该可以解决问题:

require 'grit'
repo = Grit::Repo.new(".")
repo.commits_between("branch_b", "branch_a")

请参阅http://grit.rubyforge.org/classes/Grit/Repo.html#M000227获取文档(http://grit.rubyforge.org/获取完整文档)。

这会给你提交数组中的对象,但它不会像 git 命令那样格式化输出。此外,它不排除合并提交。

为了获得格式化输出,请尝试以下操作:

puts repo.commits_between("branch_b", "branch_a").map { |c| ["*", c.id_abbrev, c.authored_date.to_date, c.short_message] * " " }
于 2012-09-30T11:50:42.300 回答