1. ホーム
  2. git

[解決済み] マージコミットなしで git ログを表示する

2022-09-04 21:28:21

質問

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

あるユーザーのコミットをチェックするには git log --author=<name> を使ってユーザーのコミットをチェックすることはできますが、出力にあるマージコミットを削除することはできません。

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

どのように解決するのですか?

使用する

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

さらに --first-parent というオプションをつけると、便利な結果が得られるかもしれません。

-最初の親 マージコミットを見たときに、最初の親コミットだけを追いかけます。このオプションは、特定のトピックブランチの進化を見るときに、より良い概観を与えることができます。 特定のトピックブランチの進化を見るときに、このオプションはより良い概観を与えます。 というのも、トピックブランチへのマージは上流の更新に対応するためだけに行われることが多いからです。 このオプションは、マージによって履歴に追加された個々のコミットを無視することができます。 このオプションは、そのようなマージによって自分の歴史にもたらされた個々のコミットを無視することができます。--bisect と組み合わせることはできません。