6

下面的2个命令有什么区别。我看到不同的输出。
两者都是从具有单个分支的克隆运行的。

git whatchanged -m -- foo.c

git rev-list --reverse --all -- foo.c
4

1 回答 1

3

git whatchanged手册页中所述:

显示每个提交引入的提交日志和差异输出。
该命令在内部调用git rev-listpiped togit diff-tree,并为这两个命令采用命令行选项。

“管道到git diff-tree”将解释两个命令之间的不同输出。

您可以在“在 git 中,如何获取两个日期之间发生的所有提交之间的差异?git rev-list ”中找到结合 a的示例。git diff


2013 年 9 月更新:

版本的 git whatchanged 手册页现在强调

鼓励新用户git log改用。该whatchanged命令基本相同,git log但默认显示原始格式差异输出并跳过合并。

保留该命令主要是出于历史原因;许多很久以前学习 Git 的人的手指git log是通过阅读 Linux 内核邮件列表发明的。

更多信息请参见“和之间的区别?git-loggit-whatchanged ”。

于 2011-12-07T07:22:01.923 回答