web-dev-qa-db-ja.com

マージコミットなしでgitログを表示する

特定のユーザーが行ったコミットを表示しようとしていますが、ユーザーが行ったマージを出力から削除したいです。どうすればできますか?

git log --author=<name>を使用してユーザーのコミットを確認できますが、出力のマージコミットを削除できません。

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

52
mu 無

つかいます

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

さらに、--first-parentオプションを使用すると、役に立つ結果が得られます。

--first-parentマージコミットを確認すると、最初の親コミットのみを追跡します。このオプションは、特定のトピックブランチの進化を表示するときに、より良い概要を提供できます。トピックブランチへのマージは、時々更新されたアップストリームへの調整のみを目的とする傾向があるためです。このようなマージによる履歴。 --bisectと組み合わせることはできません。

81
0xAX

--no-mergesとのマージを省略できます:

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

詳細については git log manpage をご覧ください。

16
morxa