How to git log in reverse order?

2020-05-12 02:19发布

问题:

I recently learned that I can get hg log to print the history in reverse order with:

hg log -r :

So of course I tried:

git log -r :

Well, it didn't work. So what is the command to do the same thing in git?

回答1:

Use the --reverse option:

git log --reverse


回答2:

You don't need to type --reverse all the time, nor do you need a bash function. You can just create a git alias. Open up your favorite text editor and open up your global .gitconfig file. It's usually found in your home directory.

Navigate to or create a section like this:

[alias]
    lg = log -10 --reverse

That creates a git alias that grabs the ten most recent commits then reverses that list so the most recent of those 10 is at the bottom. Now you can simply run:

git lg



回答3:

Jakub Narębski's comment ("Note that e.g. git log -10 --reverse would get 10 last commits then reverse list") has been clarified in Git 2.11 (Q4 2016):

See commit 04be694 (27 Sep 2016) by Pranit Bauva (pranitbauva1997).
(Merged by Junio C Hamano -- gitster -- in commit 54a9f14, 11 Oct 2016)

rev-list-options: clarify the usage of --reverse

Users often wonder if the oldest or the newest n commits are shown by log -n --reverse.
Clarify that --reverse kicks in only after deciding which commits are to be shown to unconfuse them.

See Commit Limiting.



回答4:

You could create a bashrc function (assuming you are on a unixy os)

function git_logr {

    git log --reverse

}


回答5:

I combined few of suggested one into one and I created an alias.

git log -10 --pretty=oneline --abbrev-commit --reverse
alias gl='git log -10 --pretty=oneline --abbrev-commit --reverse'


标签: git git-log