からコミットする方法次のようになります。Gitは:リストには、あなたのgitの歴史コミットとし、このブランチではなく、合併枝
A---B---C---D---E---F master
\ /
X---Y---Z topic
それはgitのリストのマスターにのみコミット、-Fを持つことは可能ですか?言い換えれば、コミットがmerged-inブランチ上にあった場合、私はそれを表示したくありません。
からコミットする方法次のようになります。Gitは:リストには、あなたのgitの歴史コミットとし、このブランチではなく、合併枝
A---B---C---D---E---F master
\ /
X---Y---Z topic
それはgitのリストのマスターにのみコミット、-Fを持つことは可能ですか?言い換えれば、コミットがmerged-inブランチ上にあった場合、私はそれを表示したくありません。
git log
あなたがtopic
歴史を取得することはできませんので、オプション--first-parent
を持っています。
master
からマージすると、master
コミットはマージの最初の親です。 Gitログは--first-parentを持つコミットだけを表示することができるので、適切なものを得ることができます。
+1 '--first-parent'はそれをしない:)'と組み合わせて使用すると、マージを非表示にすることができ--no-merges'これはtig' https://github.com/jonas/tig 'で素晴らしい作品 – c00kiemon5ter
コミット –
これは機能しませんか?
git log master
git log --stat master
これらは動作しません。マージコミットには2つの親があります。両親から追跡されたものはすべて「マスター」支店にあります。 – GoZoner
特定の状況で役に立つことでしょうどの--first-parent
に依存しないこのついて行くには他の一般的な方法は、
git log origin/topic ^origin/master
これはあなたのすべてとorigin/topic
のログを与える分岐除外フィルタを使用して...ありorigin/master
のコミットが削除されました。
また、--no-merges
に追加して、マージコミットを隠すこともできます。
log
の代わりにshortlog
を使用すると、リリースノートやブランチ内のwhatsの通信に便利な簡略化された要約が得られます。
更新
これを再読み込みした後、あなたが実際にしたいと思う私が掲示何のほぼ逆。しかし、それはマスターとfoo(git log origin/master ^origin/foo
)にあるすべてのものを除外してしまうでしょう。しかし、あなたが求めるものを得ることもできます(マージの一部であるすべてのコミットを隠す)git log origin/master --no-merges
したがって、 'D'と' Z'のどちらがマージされたブランチの一部であったのかをgitはどのように知っていますか? – Romain
マスターからマージすると、前のマスターコミットがマージの最初の親です。 'のgit log'は--first-parent''でのみコミットを表示することができますので、あなたは右のもの – CharlesB
が重複する可能性を取得します(http [私はGitのログのみ特定のブランチのための変更を確認するために実行する方法は?]:/ /stackoverflow.com/questions/4649356/how-do-i-run-git-log-to-see-changes-only-for-a-specific-branch) –