How to git log in reverse order?

GitGit Log

Git Problem Overview


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?

Git Solutions


Solution 1 - Git

Use the --reverse option:

git log --reverse

Solution 2 - Git

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

Solution 3 - Git

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.

Solution 4 - Git

None of above work... except this one with recent commit message + stats

git log --graph --stat

More snippet ~/.gitconfig:

lg1 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all
lg2 = log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n''          %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all
lg = !"git lg1"
lg3 = log -10 --reverse --abbrev-commit

Solution 5 - Git

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

function git_logr {

    git log --reverse

}

Solution 6 - Git

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'

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionErik BView Question on Stackoverflow
Solution 1 - GitMakisView Answer on Stackoverflow
Solution 2 - GitChevView Answer on Stackoverflow
Solution 3 - GitVonCView Answer on Stackoverflow
Solution 4 - GitCodeFarmerView Answer on Stackoverflow
Solution 5 - GitAdil KhanView Answer on Stackoverflow
Solution 6 - GitwojciehView Answer on Stackoverflow