2016-03-11 12 views
14

特定のユーザが作成したコミットを表示しようとしていて、ユーザがマージしたものを出力から削除したい。どうすればいいですか?git logをマージコミットなしで表示

私はgit log --author=<name>を使用して、ユーザーのコミットを確認することができますが、他の部分を見つけることができません。

PS:\マージ競合が問題のレポのワークフローでは発生しません、すべての分岐がリベースされていますマスタにマージする前に、出力からマージコミットを削除することは安全です。同様に、2つのフィーチャブランチは、マージされておらず、可能性を高めます。

+0

マージに競合があり、解決する必要がある場合はどうなりますか? –

+0

@JoePhilllips問題のレポのワークフローでは発生しませんが、すべてのブランチはマスタにマージされる前にリベースされます。 –

+3

'git log --no-merges'を使用してください。 – 0xAX

答えて

23

使用

git log --author=<name> --no-merges 

さらに--first-parentオプションあなたのための有用な結果を与えることがあります。

--first-親 フォローのみ最初の親はマージコミット見時にコミット。このオプションは、特定のトピックブランチの 進化を見るときにより良い概観を与えることができます。なぜなら、 をトピックブランチにマージするのは時々更新されたアップストリームに調整する傾向があり、このオプションにより個々のコミットを無視することができます。そのようなマージによってあなたの 履歴に持ち込まれました。 --bisectと組み合わせることはできません。

7

あなたは--no-mergesでマージを省略することができます。

git log --no-merges --author=<name> 

詳細はgit log manpageを参照してください。

+0

答えを+1してくれてありがとう!私は@ 0xAXからの答えを受け入れました。なぜなら、彼はコメントの最初に答えました:) –

関連する問題