Как сделать git log в обратном порядке?
Недавно я узнал, что могу получить журнал hg для печати истории в обратном порядке:
hg log -r :
Поэтому, конечно, я попробовал:
git log -r :
Ну, это не сработало. Так что команда сделать то же самое в git?
7 ответов
Вам не нужно вводить --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
}