【问题标题】:How to git log in reverse order?如何以相反的顺序 git log?
【发布时间】:2011-02-17 10:26:40
【问题描述】:

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

hg log -r :

所以我当然试过了:

git log -r :

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

【问题讨论】:

  • man git-log grep reverse.
  • man git-log /reverse 并按回车键。
  • 为了清楚起见,根据 GIT 中的 the docs -r 转换为:“显示递归差异。”

标签: git git-log


【解决方案1】:

使用--reverse 选项:

git log --reverse

【讨论】:

  • 请注意,例如git log -10 --reverse 将获得 10 个 last 提交 then 反向列表。
  • 你可以创建一个 git 别名:stackoverflow.com/questions/2553786/…
  • 这也适用于(目前)git show,即使文档没有提到它。例如。 git show origin/master.. --reverse
  • 我将git gol 用于git log --reverse
【解决方案2】:

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

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

[alias]
    lg = log -10 --reverse

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

git lg

【讨论】:

    【解决方案3】:

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

    参见Pranit Bauva (pranitbauva1997)commit 04be694(2016 年 9 月 27 日)。
    (由 Junio C Hamano -- gitster -- 合并到 commit 54a9f14,2016 年 10 月 11 日)

    rev-list-options:澄清--reverse的用法

    用户经常想知道n 提交是否由log -n --reverse 显示。
    澄清--reverse 仅在决定要显示哪些提交以消除他们的困惑之后才开始。

    Commit Limiting

    【讨论】:

    • 但是如果你想在 -n 之前反转呢?我似乎无法弄清楚。 (又名第一次提交)
    • 这可能有点无能,但这对我有用git log --reverse --format=%cd | head -n 1
    【解决方案4】:

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

    git log --graph --stat
    

    更多 sn -p ~/.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
    

    【讨论】:

      【解决方案5】:

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

      function git_logr {
      
          git log --reverse
      
      }
      

      【讨论】:

      • 更简单的方法是为这个简单的东西添加一个别名:git config --global alias.logr 'log --reverse' 调用使用:git logr
      【解决方案6】:

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

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

      【讨论】:

      • 反向坏了
      猜你喜欢
      • 1970-01-01
      • 2011-02-17
      • 1970-01-01
      • 2023-03-31
      • 1970-01-01
      • 2011-01-19
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多