【问题标题】:View order of a list of git commits查看 git 提交列表的顺序
【发布时间】:2016-11-10 16:53:03
【问题描述】:

我有一个提交哈希列表,我需要按时间顺序排列它们。

我以为我可以让git rev-list 去做,但它坚持要向我显示所有提交,即使我在命令行上指定了提交。

有没有办法让 git 做到这一点,还是我必须结合 git rev-listgrep

谢谢!

【问题讨论】:

标签: git git-rev-list


【解决方案1】:

使用--no-walk 选项。它适用于基于git rev-list 的所有内容。

【讨论】:

  • 具体来说,现在可以--no-walk=sorted或者--no-walk=unsorted,默认是“排序的”。不过,在旧版本的 Git 中,--no-walk总是未排序,所以要小心! (当我在 Git 1.7 或 1.8 的日子里尝试使用它时,这让我很生气。)
  • ?我赞成您对信仰的评论,但是引入该选项的 8e64006 说基于rev-list 的命令对其输出进行排序(默认情况下,现在),它是遵循命令行顺序的git show。你会不会记错了? @torek
  • 这是一个相当老的 Git。我必须深入挖掘 Git 内部的历史,才能看到这个问题何时得到修复。我的脚本有这四行(评论当然会折叠它们)# parse the arguments into one file git rev-parse $@ > $TF1 || exit 1 # and topo-sort the arguments into another git rev-list --topo-order --no-walk --reverse $@ > $TF2 || exit 1 并且它失败了,直到一些 Git uprev 修复了这个。 (我最后一次接触这个脚本是2012年,所以问题出现在2012年或更早。)
  • (看起来那将是 Git 1.6,或者可能是早期的 1.7 版本。)附录:可能提交 fbc08ea177f8284d10c62ad39de51edb21af88b0 这意味着它将在 1.7.10 和更早版本中被破坏(未排序)。
猜你喜欢
  • 2014-01-28
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 2015-10-05
  • 2012-02-21
  • 2013-07-07
相关资源
最近更新 更多