Как сделать git log в обратном порядке?

Недавно я узнал, что могу получить журнал hg для печати истории в обратном порядке:

hg log -r :

Поэтому, конечно, я попробовал:

git log -r :

Ну, это не сработало. Так что команда сделать то же самое в git?

7 ответов

Решение

Использовать --reverse опция:

git log --reverse

Вам не нужно вводить --reverse все время, и при этом вам не нужна функция bash. Вы можете просто создать псевдоним git. Откройте ваш любимый текстовый редактор и откройте свой глобальный .gitconfig файл. Обычно он находится в вашем домашнем каталоге.

Перейдите к разделу или создайте его следующим образом:

[alias]
    lg = log -10 --reverse

Это создает псевдоним git, который захватывает десять последних коммитов, а затем переворачивает этот список, поэтому самый последний из этих 10 находится внизу. Теперь вы можете просто запустить:

мерзавец

Jakub Narębski ("Обратите внимание, что, например, git log -10 --reverse получит 10 последних коммитов, а затем обратный список ") было разъяснено в Git 2.11 (4 квартал 2016 года):

См. Коммит 04be694 (27 сентября 2016 г.) от Pranit Bauva ( pranitbauva1997 )
(Объединено Юнио С Хамано - gitster - в коммите 54a9f14, 11 октября 2016 г.)

rev-list-options: уточнить использование --reverse

Пользователи часто задаются вопросом, самый старый или самый новый n коммиты показаны log -n --reverse,
Уточнить, что --reverse включается только после принятия решения о том, какие коммиты должны быть показаны, чтобы их не смешивать.

См. Ограничение фиксации.

Я объединил несколько из предложенных в один и создал псевдоним.

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

Если вы хотите git --graphс обратным порядком, вы не можете использовать --reverseк сожалению, но вы можете использовать tac:

      git log --graph --color | tac

Обратите внимание, что --colorздесь важно.

Как псевдоним git:

      git config --global alias.logr '!git log --graph --color | tac'

(Затем, конечно, добавьте свои любимые флаги в git log --graph;)

Ничего из вышеперечисленного не работает... кроме этого с недавним сообщением о коммите + статистикой

      git log --graph --stat

Еще фрагмент ~/.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

Вы можете создать функцию bashrc (при условии, что вы используете Unixy OS)

function git_logr {

    git log --reverse

}
Другие вопросы по тегам