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?
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?
Use the --reverse
option:
git log --reverse
git log -10 --reverse
would get 10 last commits then reverse list. –
Timepiece git show
, even though the documentation doesn't mention it. E.g. git show origin/master.. --reverse
–
Hyla git gol
for git log --reverse
–
Raimundo 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
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 bylog -n --reverse
.
Clarify that--reverse
kicks in only after deciding which commits are to be shown to unconfuse them.
See Commit Limiting.
git log --reverse --format=%cd | head -n 1
–
Driskill 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'
If you want a git --graph
with reversed order, you can't make use of --reverse
unfortunately, but you can make use of tac
:
git log --graph --color | tac
Note that --color
is important here.
As a git alias:
git config --global alias.logr '!git log --graph --color | tac'
(Then of course add your favorite flags to git log --graph
;)
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
--graph
you can't get results in reverse order out of the box, as git doesn't allow --reverse
on top of --graph
. See my answer for a solution –
Chicane You could create a bashrc function (assuming you are on a unixy os)
function git_logr {
git log --reverse
}
git config --global alias.logr 'log --reverse'
Invoke using: git logr <additional arguments> –
Tortfeasor © 2022 - 2024 — McMap. All rights reserved.
man git-log
grep reverse. – Fractocumulusman git-log
/reverse
and press enter. – Mariquilla-r
in GIT translates to: "Show recursive diffs." – Mantoman