我想比较2个分支并显示存在于一个而不是另一个的提交。这可以从命令行git log --pretty=oneline branch_b ^branch_a --no-merges
开始,并提供我想要的东西,但我想在Grit中模拟相同的东西,以获得对象而不是字符串。这可能在Grit吗?
答案 0 :(得分:0)
我觉得这样的事情可以解决问题:
require 'grit'
repo = Grit::Repo.new(".")
repo.commits_between("branch_b", "branch_a")
请参阅http://grit.rubyforge.org/classes/Grit/Repo.html#M000227了解doc(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] * " " }