以下2个命令之间有什么区别。我看到不同的输出 两者都是从具有单个分支的克隆运行的。
git whatchanged -m -- foo.c
git rev-list --reverse --all -- foo.c
答案 0 :(得分:3)
显示每个提交引入的提交日志和差异输出 命令在内部调用
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-list
与git diff
相结合的示例。
2013年9月更新:
new version of the man page for git whatchanged now emphasizes:
鼓励新用户改用
git log
。whatchanged
命令与git log
基本相同,但默认显示原始格式diff输出并跳过合并。该命令主要是出于历史原因;通过阅读Linux内核邮件列表,很久以前在
git log
被发明之前就已经学会了Git的很多人的手指被训练来输入它。