221

我最近了解到,我可以使用 hg log 以相反的顺序打印历史记录:

hg log -r :

所以我当然尝试了:

git log -r :

好吧,它没有用。那么在 git 中做同样事情的命令是什么?

4

6 回答 6

403

使用--reverse选项:

git log --reverse
于 2010-05-09T19:16:40.197 回答
15

您不需要一直打字--reverse,也不需要 bash 功能。您可以只创建一个 git 别名。打开您最喜欢的文本编辑器并打开您的全局.gitconfig文件。它通常位于您的主目录中。

导航到或创建这样的部分:

[alias]
    lg = log -10 --reverse

这将创建一个 git 别名,该别名获取最近的 10 个提交,然后反转该列表,因此这 10 个中的最新提交位于底部。现在您可以简单地运行:

混帐

于 2014-03-12T16:09:09.940 回答
9

Jakub Narębski评论(“请注意,例如git log -10 --reverse将获得 10 个最后提交然后反向列表”)已在 Git 2.11(2016 年第四季度)中得到澄清:

请参阅Pranit Bauva ( ) 的提交 04be694(2016 年 9 月 27 日(由Junio C Hamano 合并 -- --54a9f14 提交中,2016 年 10 月 11 日)pranitbauva1997
gitster

rev-list-options: 说明用法--reverse

用户经常想知道最旧的提交还是最新的n提交是否显示为log -n --reverse.
澄清--reverse只有决定要显示哪些提交以消除它们的混淆后才开始。

请参阅提交限制

于 2016-10-12T11:44:54.800 回答
1

以上都不起作用...除了这个最近提交消息+统计信息

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
于 2021-09-16T08:37:12.883 回答
0

您可以创建一个 bashrc 函数(假设您使用的是 unixy 操作系统)

function git_logr {

    git log --reverse

}
于 2014-02-24T20:27:14.673 回答
0

我将几个建议的内容合二为一,并创建了一个别名。

git log -10 --pretty=oneline --abbrev-commit --reverse
alias gl='git log -10 --pretty=oneline --abbrev-commit --reverse'
于 2019-11-07T11:14:34.897 回答