2つのブランチ間で異なるログを取得する方法を調べるためのテスト用gitプロジェクトを作成しました。gitは2つのブランチ間でログを異ならせます
ほとんどのケースでは、我々は、このようなケースがあります:ブランチマスターはマスターする桜の厳選されたいくつかのコミットを持って、グラフの下に以下を参照してください
「私は」コミットチェリー選んだ枝を習得することです。 masterとdbg_featureのログが異なると予想される結果は、 "J"のみである必要があります。
しかし、私は、コマンドの下に実行すると、実際に、:
+ a1915061be2f445d322abc7bfb7d19bbb357b917 I
+ 6486e899e07b6d6f539cbcad10655dcc345f434d J
:
git cherry -v master dbg_feature
私は "I" と "J"、チェリー選んだ一つの "I" はまだそれにリストを取得します
私は、コマンドの下に実行する場合:
git log --oneline --no-merges master..dbg_feature
出力は以下の通りです:
6486e89 J
a191506 I
以下のようにgitのREV-listコマンドを実行した場合:
git rev-list --oneline --no-merges --cherry-pick --right-only master...dbg_feature
6486e89 J
a191506 I
結果はgitのログと同じようです。
この2つのブランチ間で正確に異なるログを取得するには適切なコマンドは何ですか?
cherry-pickコミットは新しいコミットとして扱われるので、チェリーピックされたコミットを除外するような違いはないと思います。すべてがマージされれば、それはうまくいくはずです。 – beetlej
少し奇妙な、出力によると、 "I"と "J" dbg_featureのコミットがマスターのではないはずです。それに加えて、masterはIまたはJと同等のコミットを持っていません。それと同等のコミットがあれば+は - です。 – ElpieKay
@ElpieKayええ、私はチェリーピックで習得したので、そのコマンドはそれを知らないようです。 – lucky1928