log first 10 in git

后端 未结 9 1970
刺人心
刺人心 2021-01-30 12:27

Two questions:

  1. How to show the first 10 commit in git from beginning to end. (no branch)
  2. How the specify the commit index and log it. (show the second or
相关标签:
9条回答
  • 2021-01-30 12:44

    the best result comes with combination of both best answers:

    git log --pretty=oneline -10
    
    0 讨论(0)
  • 2021-01-30 12:46

    Because... more detail :p

    1. How to show the first 10 commit in git from beginning to end. (no branch)
    2. How the specify the commit index and log it. (show the second or third)

    By (no branch), you might be asking about the reflog rather than any given ancestry chain. The following has nothing to do with the branch you are on.

    git log -g --pretty=oneline | tail -10

    <sha> HEAD@{###}: action: summary (old)
    <sha> HEAD@{###}: action: summary (older)
    ...
    <sha> HEAD@{###}: action: summary (oldest)
    
    • -g is --walk-reflogs Instead of walking the commit ancestry chain, walk reflog entries.q
    • add |cut -d ' ' -f 2|tr -d ':' > log to log only the reflog commit index.

    The following will show the earliest ancestors of the currently checked out branch.

    git log --reverse --pretty=oneline | head -10 | cat -n

    1 <sha> summary (oldest)
    2 <sha> summary (second)
    
    • --reverse Output the commits in reverse order.
    • Can't use simply -n 10 or -10 since it breaks --reverse
    • cat -n adds line numbers (commit index?)

    0 讨论(0)
  • 2021-01-30 12:48
    git log -10
    

    Would show 10 latest commits matching the revision spec (a missing spec means "all commits").

    See manpage:

    git help log
    

    section Commit Limiting

    -<number>, -n <number>, --max-count=<number>
        Limit the number of commits to output.
    
    0 讨论(0)
  • 2021-01-30 12:48

    i would use below simple syntax command;

    git log -10 --oneline
    
    0 讨论(0)
  • 2021-01-30 12:52

    To get the last 10 commits:

    git log HEAD~10..HEAD
    

    To get them in oldest-to-newest order:

    git log --reverse HEAD~10..HEAD
    

    Note that if there are merges, this may show more than 10 commits; add --first-parent if you only want to traverse through the first parent of each branch.

    For far more detail, see the documentation for git rev-list.


    Edit: You've already gotten a useful answer above to "show commits near the start of history" (again, see the caveats about multiple non-connected commit DAGs in a repo). But you can also do, e.g.:

    git log --no-walk `git rev-list HEAD | tail -n 10`
    

    and:

    git log --no-walk `git rev-list --reverse HEAD | head -n 10`
    

    depending on which order you want the results.

    0 讨论(0)
  • 2021-01-30 12:52

    Simply log everything reverse -1 means list one log

    git log  --reverse -1
    
    0 讨论(0)
提交回复
热议问题