" git whatchanged - filename"有什么区别?和" git rev-list - filename"

时间:2011-12-07 07:16:17

标签: git git-log

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

git whatchanged -m -- foo.c

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

1 个答案:

答案 0 :(得分:3)

git whatchanged man page中所述:

  

显示每个提交引入的提交日志和差异输出   命令在内部调用git rev-list管道传输到git diff-tree ,并为这两个命令获取命令行选项。

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

您可以在“In git, how can I get the diff between all the commits that occured between two dates?”中找到git rev-listgit diff相结合的示例。


2013年9月更新:

new version of the man page for git whatchanged now emphasizes

  

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

     

该命令主要是出于历史原因;通过阅读Linux内核邮件列表,很久以前在git log被发明之前就已经学会了Git的很多人的手指被训练来输入它。

点击“Difference between git-log and git-whatchanged?”了解更多信息。