2012-11-15 15 views
5
以下Gitの履歴を仮定

gitのログマスターを行う特定のブランチのみのGitログを取得するにはどうすればよいですか?

Branch1  B---C-------F---G 
     / \   \ 
Master A-------D---E-------H 

注文A-B-C-D-E-F-G-Hは次のログエントリを与えます。 - しかし私は、マスタ専用の歴史に興味がある(すなわちA-D-E-H

どのように私は支社から不要なログエントリの「取り除く」ことができますか?見てみると

:これは私がこの文脈で理解していない、さらに事につながる


...私はgitのログのための多くのオプションを試してみましたが、私は適切な何かを見つけることができませんログ履歴はgitログマスターによって与えられます。私のブランチマスターが進化した様子を示しています(ABCDEFGH)。

しかしGitのチェックアウトのHEADをやって〜1は、(仮定マスター= HEAD)は私に〜3E(進化HEAD与えからHEAD〜2DからHEADを〜 1EからHEADH - >ADEH

これは私が理解していないものです:Hの祖先がgitのログを見ては、Hの祖先がGitチェックアウトを見ながら、GあるEです。

私はこれを理解していない - Hの祖先は何ですか:GまたはE ...


結論:私は何がしたいことはgitのですか。ログのエントリは、からからまでで、HEAD〜n(たとえばn = 1 ... 3以上)です。 これはどのように達成できますか?まったく可能ですか? GまたはE:Hの祖先は何ですか -

+0

[Gitリポジトリ:どのようにこのブランチにではなく、マージされた枝からのコミットを一覧表示する]の可能複製(http://stackoverflow.com/questions/10248137/git-how-to-list-commits-on-this-branch - ブトない-からマージブランチ) – CharlesB

+0

あなたは正しいです - 間違った検索キーワードを持っていた(と引用された質問は、非常に悪い)... – hoppfrosch

+0

@hopproschをタグ付けされている:私はの質問 – CharlesB

答えて

6

あなたが探しているものは、そのオプションが--first-parentと呼ばれているのはなぜ

git log --first-parent 

私はこのことを理解していない、あなたの質問に答えるのですか?

答えはとなります。です。 Eは、最初の親が、H、マージコミットであるため、Gは、第二の親あります。マージコミットは、複数の親を持つものです。

+0

ありがとうございました - それはまさに私が探していたものでした!私はTortoiseGitを試しました.TortoiseGitはログビューに「first-parent」オプションがあります。しかし、これは何(TortoiseGit 1.7.14.0) – hoppfrosch

+0

これは離れて、「最初の親」から私を導いた(...「すべての分岐を表示する」がチェックされている場合は、「first_parent」は、任意の効果を示していない)すべてのケースで正しく動作するようには思えません完全には明確ではないが、命名法である:1階の完全な祖先列を与える一方で、なぜ「 - first-parent」(単数形)と呼ばれるオプションですか? "--first-parents" IMHO – hoppfrosch

+0

@hoppfrosch遭遇したコミットごとに、その特定のコミットの「最初の親」のみが選択されます。コミットHはマージコミットであるため、2つの親(GとE)がありますが、最初の親はEです。したがって、マージコミットが発生するたびに、最初の親に従います。 –

関連する問題