2 つのブランチを比較し、一方には存在するが他方には存在しないコミットを表示したいと思います。これはコマンドラインから機能しgit log --pretty=oneline branch_b ^branch_a --no-merges
、私が望むものを提供しますが、Grit で同じことをシミュレートして、文字列ではなくオブジェクトを操作したいと考えています。これはグリットで可能ですか?
質問する
291 次
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 に答える